如何合并字典和列表并为其添加更多值?

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