如何计算列表中的出现次数

时间:2018-01-22 04:13:05

标签: python list dictionary

如何计算列表中出现次数并使用python将单词和计数值存储为dict而不使用集合库中的Counter函数? 例如:list = [a,a,a,b,b,c,c,c,c]结果应该是当我打印字典a-> 3 b-> 2 c-> 4时:

dict=[(word,list.count(word)) for word in list]

这似乎不起作用。

1 个答案:

答案 0 :(得分:2)

如果您不想使用Counter,那么您可以尝试将词典理解与set()结合使用,以避免多次计算同一词的出现次数:

>>> lst = list("aaabbcccc")
>>> lst
['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c']
>>> {word: lst.count(word) for word in set(lst)}
{'a': 3, 'c': 4, 'b': 2}

请记住,虽然这种方法非常清晰,但它不是最有效的方法,如果你的列表非常大,你应该更快地使用它。