Python基础问题,列表里面包含很多个字典,怎么把他们拼接成一个字典?

List=[{pak1:1,psja:34,padg:46},{pare:364,pjdy:3},{psuy:51}……]

我需要把他们拼接成这样的形式

Dict={pak1:1,psja:34,padg:46,pare:364,pjdy:3,psuy:51,……}

这边因为数据库比较大直接追加加到一个新的列表是跑不出来的,所以请教一下大神们有什么办法,重复的也要

使用collections 中的defaultdict,将重复键的值写入一个列表中:

from collections import defaultdict

lst=[{'pak1':1,'psja':34,'padg':46},{'pare':364,'pjdy':3},{'psuy':51,'psja':18}]
new = defaultdict(list)
for d in lst:    
    for k ,v in d.items():
        if k in new:
            new[k].append(v)
        else:            
            new[k]=[v]
new1={}
for k,v in new.items():
    if  len(v)==1:
        new1.update({k:v[0]})
    else:
        new1.update({k:v})
print(new1)

List=[{'pak1':1,'psja':34,'padg':46}, {'pare':364, 'pjdy':3},{'psuy':51}]

d =List[0]
a = [d.update(_) for _ in List[1:]]

print(d)

用reduce函数吧。

>>> from functools import reduce
>>> d = [{'a':1, 'b':2}, {'c':3}, {'d':4}, {'c':5}]
>>> reduce(lambda a,b:a|b, d)
{'a': 1, 'b': 2, 'c': 5, 'd': 4}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632