【发布时间】:2023-01-11 18:05:32
【问题描述】:
我有一个字典列表,字典中的每个值都是一个四元素列表:
my_dict=[
{
'prop1': [1, 2, 3, 4],
'prop2': [1, 1, 0, 0]
},
{
'prop1': [2, 3, 3, 1],
'prop3': [1, 1, 0, 0]
}
]
不写显式迭代就可以总结吗?
我想得到:
my_dict_sum={
'prop1': [3, 5, 6, 5],
'prop2': [1, 1, 0, 0],
'prop3': [1, 1, 0, 0]
}
UPD:这样的事情可行,但我想知道如何使用map或zip或functools在不编写两级迭代的情况下做同样的事情:
my_dict_sum = {}
for val in my_dict:
for key,counts in val.items():
if key in my_dict_sum :
sum_dict[key] = list(map(lambda x,y: x+y, my_dict_sum[key], counts))
else:
my_dict_sum[key] = counts
【问题讨论】:
-
请告诉我们您到目前为止尝试了什么以及为什么禁止迭代(提供更多上下文)。
-
没有明确的迭代?这是什么,代码高尔夫挑战赛?
-
那么为什么要在标签中添加
loops呢? -
@Gameplay 添加了我到目前为止尝试过的内容。
-
您仍然没有提供为什么需要在没有显式迭代的情况下重写代码的原因,也没有显示这样做的尝试。
标签: python list loops dictionary