我刚刚在不久前拿起了python。
以下示例
我在列表中有一本字典
myword = [{'a': 2},{'b':3},{'c':4},{'a':1}]
我需要将其更改为
以下的输出[{'a':3} , {'b':3} , {'c':4}]
有没有办法可以将价值加在一起?我尝试使用计数器,但它打印出每个字典。
我用Counter做了什么:
for i in range(1,4,1):
text = myword[i]
Print Counter(text)
输出
Counter({'a': 2})
Counter({'b': 3})
Counter({'c': 4})
Counter({'a': 1})
我已阅读下面的链接,但他们比较的是2个字典。
Is there a better way to compare dictionary values
谢谢!
答案 0 :(得分:2)
将字典合并到一个字典(Counter)中,并将它们拆分。
>>> from collections import Counter
>>> myword = [{'a': 2}, {'b':3}, {'c':4}, {'a':1}]
>>> c = Counter()
>>> for d in myword:
... c.update(d)
...
>>> [{key: value} for key, value in c.items()]
[{'a': 3}, {'c': 4}, {'b': 3}]
>>> [{key: value} for key, value in sorted(c.items())]
[{'a': 3}, {'b': 3}, {'c': 4}]