如何合并字典和列表并为其添加更多值?
How merge a dict and a list and adding more value to it?
我们有这个字典和这个列表
mydict={a:1,b:1}
mylist=[a,b,a,c]
我想像这样将该列表合并到字典中:
mydict={a:3,b:2,c:1}
你可以通过
for item in mylist:
try:
mydict[item] += 1
except KeyError:
mydict[item] = 1
我会为此使用计数器。
from collections import Counter
mydict={'a':1,'b':1}
mylist=['a','b','a','c']
c1 = Counter(mydict)
c2 = Counter(mylist)
mynewdict = c1 + c2
Counter({'a': 3, 'b': 2, 'c': 1})
如果您需要将 newdict 作为实际的字典而不是计数器,那么:
mynewdict = dict(mynewdict)
@meTchaikovsky 的回答的伴侣。
for item in mylist:
mydict[item] = mydict.get(item, 0) + 1
我们有这个字典和这个列表
mydict={a:1,b:1}
mylist=[a,b,a,c]
我想像这样将该列表合并到字典中:
mydict={a:3,b:2,c:1}
你可以通过
for item in mylist:
try:
mydict[item] += 1
except KeyError:
mydict[item] = 1
我会为此使用计数器。
from collections import Counter
mydict={'a':1,'b':1}
mylist=['a','b','a','c']
c1 = Counter(mydict)
c2 = Counter(mylist)
mynewdict = c1 + c2
Counter({'a': 3, 'b': 2, 'c': 1})
如果您需要将 newdict 作为实际的字典而不是计数器,那么:
mynewdict = dict(mynewdict)
@meTchaikovsky 的回答的伴侣。
for item in mylist:
mydict[item] = mydict.get(item, 0) + 1