在字典python中计数单词

时间:2018-11-20 19:24:18

标签: python list dictionary

给出一个列表

lst = ['apple', 'orange', 'kiwi', 'pears', 'pears', 'banana']

词典

dict = {'orange': 4, 'apple':2, 'pears': 1}

如果dict中已存在列表中的字符串,请更新该值。否则,添加一个新密钥及其出现的次数。

结果:

dict = {'apple':3, 'orange':5, 'kiwi':1, 'pears':3, 'banana':1}

我尝试过:

for string in lst:
    if string in dict:
        dict[string] += 1
    else:
        dict[string] = 1
return dict

这给了我字典的顺序,并向其中添加了新的字符串。我需要做的是,将字符串逐个字符串添加到字典中,如果字符串已经存在,则可以添加值。所以顺序是这样的第一个字符串

它提供了什么:

dict = {'orange': 5, 'apple': 3, 'pears': 3, 'kiwi': 1, 'banana': 1}

我想要的:

dict = {'apple':3, 'orange':5, 'kiwi':1, 'pears':3, 'banana':1}

1 个答案:

答案 0 :(得分:2)

我将介绍高性能集合,即counter

from collections import  Counter
a = Counter(['apple', 'orange', 'kiwi', 'pears', 'pears', 'banana'])
print(a)
>>> print(a)
Counter({'pears': 2, 'apple': 1, 'orange': 1, 'kiwi': 1, 'banana': 1})
>>> print(a['something not in original']
0
>>> print(a['pears']
2
>>> print(a['apple']
1