0

我们有这个字典和这个列表

mydict={a:1,b:1}
mylist=[a,b,a,c]

我想将该列表合并到字典中,如下所示:

mydict={a:3,b:2,c:1}
4

3 回答 3

1

你可以这样做

for item in mylist:
    try:
        mydict[item] += 1
    except KeyError:
        mydict[item] = 1
于 2019-09-27T11:26:59.540 回答
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 作为实际的 dict 而不是计数器,那么:

mynewdict = dict(mynewdict)

于 2019-09-27T11:27:20.620 回答
1

@meTchaikovsky 答案的伴侣。

for item in mylist:
    mydict[item] = mydict.get(item, 0) + 1

于 2019-09-27T11:29:15.793 回答