Python字典问题求解

ls=["综合","理工","综合"]
d={}
for word in ls:
d[word]=d.get(word,0)+1
for k in d:
print("{}:{}".format(k,d[k]))

请问第五行get word后面那个0怎么解释,是使用索引,从[0]开始的意思吗?可是不是说字典不允许用元组吗

d.get(word):不是get不是去获取值嘛,当没有这个值的时候,它默认是反None,
d.get(word,0):你给他一个参数0,当他没有值的时候返回0

d = {1:'你' , 2:'好'}
如果确定d中有键,就可以用d[键] 来取得键对应的值,如 d[1] 的结果是 '你'
如果不 确定d中有没有键,就用get来取值 ,如d.get(1) 这时的结果是'你',但它有一个好处,当字典d中没有键时,则同样可以取值,并且可以给它一个默认值,如 d.get(3,'吗') 这时d中没有键3,但可以得到结果为"吗",这种情况下用d[3]就会报错。

dict.get() 函数中第一个参数是key,第二个是默认值。
如果d中不存在 word,使用 d[word]的形式取word的值,会抛出异常,但使用d.get()则不会。如果d中不存在word,则返回默认值。
上述代码是对ls中的项目做统计,d中的键是ls中的所有非重复项,值是项目的个数。