我目前正在尝试编写一个程序来计算输入中某个单词出现的次数。我目前遇到以下问题:
举个例子:
list: ['red', 'green', 'blue', 'green']
如果我像这样使用 for 循环:
for i in range(len(userinput)):
list.count(userinput[i])
它只会返回:1, 2, 1, 2
我如何让它返回:1, 2, 1,只计算一次出现的次数?
请您参考如下方法:
我不确定 [1,2,1] 形式的计数是否有很大意义。理想情况下,您需要一个包含每个元素计数的字典,如下所示:
l = ['red', 'green', 'blue', 'green']
from collections import Counter
Counter(l)
你得到
Counter({'blue': 1, 'green': 2, 'red': 1})
如果你想在没有计数器的情况下执行此操作,请尝试
dict((item, l.count(item)) for item in l)
你得到
{'blue': 1, 'green': 2, 'red': 1}
