标签: python list dictionary
如何计算列表中出现次数并使用python将单词和计数值存储为dict而不使用集合库中的Counter函数? 例如:list = [a,a,a,b,b,c,c,c,c]结果应该是当我打印字典a-> 3 b-> 2 c-> 4时:
list = [a,a,a,b,b,c,c,c,c]
dict=[(word,list.count(word)) for word in list]
这似乎不起作用。
答案 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}
请记住,虽然这种方法非常清晰,但它不是最有效的方法,如果你的列表非常大,你应该更快地使用它。