合并列表中的字典

时间:2019-01-14 17:21:40

标签: python python-3.x

我有两个长度相同的列表:

[{'a':1, 'b':105}, {'a':2, 'b':99}]
[20, 25]

如何为第二个列表添加密钥:

[{'c':20}, {'c':25}]

然后合并这两个列表以获取:

[{'a':1, 'b':105, 'c':20}, {'a':2, 'b':99, 'c':25}]

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用df['clean'].replace('\D+', '', regex = True, inplace = True)

zip

输出:

d, d2 = [{'a':1, 'b':105}, {'a':2, 'b':99}], [20, 25]
new_d = [{**a, 'c':b} for a, b in zip(d, d2)]

答案 1 :(得分:2)

如果您的目标是使用新密钥更新列表中的字典,则可以在将字典列表和值列表与zip配对后,使用循环就地修改它们:

lst = [{'a':1, 'b':105}, {'a':2, 'b':99}]
vals = [20, 25]
for d, val in zip(lst, vals):
    d['c'] = val

lst将变为:

[{'a': 1, 'b': 105, 'c': 20}, {'a': 2, 'b': 99, 'c': 25}]