给出一个列表:
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}
答案 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