首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - sum element by element JSON字典

Python - sum element by element JSON字典
EN

Stack Overflow用户
提问于 2021-11-23 10:39:14
回答 1查看 36关注 0票数 1

我有列表,有2个子列表。每个子列表都有两个JSON字典列表。就像这样:

代码语言:javascript
复制
[
  [
    {'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‘的总和:

代码语言:javascript
复制
output=[[30, 26, 21.5, 22.3 ],[7.56, 8.08, 8.02, 8.16 ]]   

你知道怎么做吗?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-23 10:44:22

假设您的输入列表名为json_list,您可以使用列表理解:

代码语言:javascript
复制
output = [list(map(sum, zip(*(d['values'] for d in l)))) for l in json_list]

输出:

代码语言:javascript
复制
[[30.0, 26.0, 21.5, 22.3], [7.5600000000000005, 8.08, 8.120000000000001, 8.16]]

或者:

代码语言:javascript
复制
output = [[round(sum(x), 2) for x in zip(*(d['values'] for d in l))]
          for l in json_list]

输出:

代码语言:javascript
复制
[[30.0, 26.0, 21.5, 22.3], [7.56, 8.08, 8.12, 8.16]]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70079381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档