代码为什么是这样循环的?

img


代码实现内容:英文文章中的单词出现次数
不太理解以下这段代码
为什么word是在word_count中循环,word_count不是一个空的吗,word不是应该在words当中循环吗?
if word not in word_count:
word_count[word] = 0
word_count[word] += 1

为什么word是在word_count中循环
===没有你说的代码啊
明明是word在words中循环啊,只是在循环中判断word是否在word_count中而已。如果不在就加入word_count中,如果在,就计数加1

if word not in word_count:
这只是一个判断语句。
前面的循环是遍历所有单词,取到每个单词时看看判断在不在word_count的字典里,不在就加入字典中,在就令其数量加一

这两句写得有点多余。直接用get就可以取代

for word in words:
    word_count[word] = word_count.get(word, 0)+1

可以看下python参考手册中的 python- 循环的技巧