python字典实现字符中各字符计数问题

问题:随机生成1000个字符的字符串,用dict对不同字符进行计数,最后

for i in s:
    char_count[i] = char_count.get(i, 0) + 1

不知道是如何实现的?能否给出容易理解的解释,谢谢!

具体代码如下:

import string
from random import choices
s = ''.join(choices(string.ascii_letters + string.digits, k=1000))
print("string: ", s)
char_count = dict()
for i in s:
    char_count[i] = char_count.get(i, 0) + 1
print(char_count)

运行结果如下:

img

#假设随机生成的字符前三个字符为bdb
#第一次i表示b,因为此时键b不存在,函数值为0,为键b的值赋值1,该语句后键b存在于字典中,且值为1
#第二次i表示d,理由如上
#第三次i表示b,函数值为1,则键b的值为2,遍历到此处,b字符出现两次

自己总结出来的,