首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个列表的联合python

多个列表的联合python
EN

Stack Overflow用户
提问于 2016-11-15 13:39:32
回答 1查看 313关注 0票数 1

如何在python中对列表的所有子列表的dict对象的元素进行联合:例如:

代码语言:javascript
复制
[
 [
  {'a':'b'}
 ],
 [
 { 'c':'d'} 
 ]
]

子列表1中位置0处的元素应与子列表2中位置0处的元素并集。Ex输出:

代码语言:javascript
复制
  [
     [
      {
       'a':'b',
       'c':'d'
      } 

     ]
    ]
EN

回答 1

Stack Overflow用户

发布于 2016-11-15 14:00:55

zip() up the lists和merge_dicts()

代码语言:javascript
复制
def merge_dicts(*args):
    r = {}
    for d in args:
        r.update(d)
    return r

>>> lst = [[{'a':'b'}],[{ 'c':'d'}]]
>>> [merge_dicts(*ds) for ds in zip(*lst)]
[{'a': 'b', 'c': 'd'}]
>>> lst = [[{'a':'b'},{1:2}],[{'c':'d'},{3:4}],[{'e':'f'},{5:6}]]
>>> [merge_dicts(*ds) for ds in zip(*lst)]
[{'a': 'b', 'c': 'd', 'e': 'f'}, {1: 2, 3: 4, 5: 6}]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40602776

复制
相关文章

相似问题

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