gpt4 book ai didi

python - 字典为相同的键添加值

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:24 25 4
gpt4 key购买 nike

我有一个字典列表:

[{'name':'Jay', 'value':'1'},{'name':'roc', 'value':'9'},{'name':'Jay', 'value':'7'},{'name':'roc', 'value':'2'}]

我希望它是:

[{'name':'Jay', 'value':'8'},{'name':'roc', 'value':'11'}]

我尝试循环遍历,但找不到可以执行此操作的示例。任何提示或想法将不胜感激。

最佳答案

您可以使用defaultdict:

lst = [{'name':'Jay', 'value':'1'},{'name':'roc', 'value':'9'},{'name':'Jay', 'value':'7'},{'name':'roc', 'value':'2'}]

1) 每个名称的总和值:

from collections import defaultdict    
result = defaultdict(int)

for d in lst:
result[d['name']] += int(d['value'])

2) 将名称-值对转换为列表中的字典:

[{'name': name, 'value': value} for name, value in result.items()]
# [{'name': 'roc', 'value': 11}, {'name': 'Jay', 'value': 8}]

或者,如果您希望值作为 @Kevin 评论的 str 类型:

[{'name': name, 'value': str(value)} for name, value in result.items()]
​# [{'name': 'roc', 'value': '11'}, {'name': 'Jay', 'value': '8'}]

关于python - 字典为相同的键添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44183767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com