相同的关键字查找值



因此,如果我想找到相同的键并将值添加到字典列表中。

如果我找到密钥名称"hi",[{'hello':10,'hi':2},{'hi':3}]将返回5

sum和列表理解可以很容易地解决这个问题。

x = [{'hello': 10, 'hi': 2}, {'hi': 3}, {'nohihere': 8}]
all_hi = sum(d.get('hi', 0) for d in x)
print(all_hi)
5

你可以试试这个:

dlist = [{'hello':10,'hi':2},{'hi':3}]
sum(map(lambda x: x.get('hi',0), dlist))

您只需要检查每个对象是否都有带有"hi"的密钥

list = [{'hello':10,'hi':2},{'hi':3},{'nothi':4}]
sum = 0
for i in list:
if 'hi' in i:
sum += i['hi']
print(sum)

这是的另一个解决方案

my_dict = [{'hello':10,'hi':2},{'hi':3}]
common_keys = set.intersection(*map(set, my_dict))
summed_dict = {key: sum(d[key] for d in my_dict) for key in common_keys}
print(summed_dict)

o/p-{'hi': 5}

否则你可以用这个

import functools as ft
my_dict = [{'hello':10,'hi':2},{'hi':3}]
print({k: sum(d[k] for d in my_dict) for k in ft.reduce(set.intersection, map(set, my_dict))})

o/p-{'hi': 5}

最新更新