我有列表,有2个子列表。每个子列表都有两个JSON字典列表。就像这样:
[
[
{'type': 'a', 'id': 1, 'values': [1.0, 1.0, 0.5, 0.3]},
{'type': 'a', 'id': 2, 'values': [29, 25, 21, 22]},
],
[
{'type': 'a', 'id': 3, 'values': [6.36, 6.58, 6.62, 6.66 ]},
{'type': 'a', 'id': 4, 'values': [1.2, 1.5, 1.5, 1.5]},
]
]我想要为每个子列表逐个元素获取'values‘的总和:
output=[[30, 26, 21.5, 22.3 ],[7.56, 8.08, 8.02, 8.16 ]] 你知道怎么做吗?
提前感谢!
发布于 2021-11-23 10:44:22
假设您的输入列表名为json_list,您可以使用列表理解:
output = [list(map(sum, zip(*(d['values'] for d in l)))) for l in json_list]输出:
[[30.0, 26.0, 21.5, 22.3], [7.5600000000000005, 8.08, 8.120000000000001, 8.16]]或者:
output = [[round(sum(x), 2) for x in zip(*(d['values'] for d in l))]
for l in json_list]输出:
[[30.0, 26.0, 21.5, 22.3], [7.56, 8.08, 8.12, 8.16]]https://stackoverflow.com/questions/70079381
复制相似问题