Python 在列表中添加具有相同键的字典值

标签 python list dictionary count

我不久前刚刚开始学习Python。

下面是一个例子

我的列表中有一本字典

myword = [{'a': 2},{'b':3},{'c':4},{'a':1}]

我需要将其更改为下面的输出

[{'a':3} , {'b':3} , {'c':4}]

有没有办法可以将这些值加在一起?我尝试使用计数器,但它打印出每个字典。

我使用计数器做了什么:

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})

我已阅读下面的链接,但他们比较的是两个字典之间的内容。

Is there a better way to compare dictionary values

谢谢!

最佳答案

将字典合并为一个字典(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}]

关于Python 在列表中添加具有相同键的字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241559/

相关文章:

python - 如何将 numpy 数组拆分为重叠的图 block ?

python - 取消维基百科同义词括号

python - 使用 Python Selenium 从 span 中提取日期

python - 使用 AM/PM 将 python 字符串转换为日期时间 obj

java - 如何从Map中获取最近100条数据?

C++ 两个 n 大小的整数列表

python - 如何检索 Django 中的最后 x 个元素

python 动态字典

arrays - 在 Swift 中对字符串字典数组进行排序

python - 如何根据 DFA1 和 DFA2 的转换创建 DFA 联合转换字典