gpt4 book ai didi

python - 如何在Python中的字典中为相同的键添加值

转载 作者:行者123 更新时间:2023-11-30 23:12:24 27 4
gpt4 key购买 nike

我在 python 中有以下键列表。

[{'country': None, 'percent': 100.0}, {'country': 'IL', 'percent': 100.0}, {'country': 'IT', 'percent': 100.0}, {'country': 'US', 'percent': 2.0202}, {'country': 'JP', 'percent': 11.1111}, {'country': 'US', 'percent': 6.9767}, {'country': 'SG', 'percent': 99.8482}, {'country': 'US', 'percent': 1.9127}, {'country': 'BR', 'percent': 95.1724}, {'country': 'IE', 'percent': 5.9041}, {'country': None, 'percent': 100.0}, {'country': None, 'percent': 100.0}]

因此,我需要添加同一国家/地区的所有百分比并删除 None 国家/地区。理想情况下的输出是。

[{'country': 'IL', 'percent': 100.0}, {'country': 'IT', 'percent': 100.0}, {'country': 'US', 'percent': 10.9096}, {'country': 'JP', 'percent': 11.1111}, {'country': 'SG', 'percent': 99.8482}, {'country': 'BR', 'percent': 95.1724}, {'country': 'IE', 'percent': 5.9041}, ]

我尝试了以下方法。

for i, v in enumerate(response):
for j in response[i:]:
if v['country'] == j['country']:
response[i]['percent'] = i['percent'] + j['percent']

但我无法成功并且正在挣扎。有人可以指出我正确的方向吗?

最佳答案

result_map = {}
for item in response:
if item['country'] is None:
continue
if item['country'] not in result_map:
result_map[item['country']] = item['percent']
else:
result_map[item['country']] += item['percent']

results = [
{'country': country, 'percent': percent}
for country, percent in result_map.items()
]

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

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