2016-11-15 88 views
1

如何执行Python的list的所有子列表的字典对象的元素的工会: 例如:在子表1在pos 0联盟蟒蛇

[ 
[ 
    {'a':'b'} 
], 
[ 
{ 'c':'d'} 
] 
] 

元素应该用在pos 0元素工会在子表2例OUTPUT:

[ 
    [ 
     { 
     'a':'b', 
     'c':'d' 
     } 

    ] 
    ] 
+0

所有子列表的大小是否相同? – Jason

+0

@Jason是的,每个子列表都将具有相同的大小 – anekix

回答

0

zip()了列表和merge_dicts()

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}]