Python /列表中的词典更新

时间:2017-10-03 13:12:14

标签: python python-3.x

我有这样的词典列表:

abc = [{'aabb': 12}, {'ccdd': 23}, {'eeff': 34}]

和字典:

xyz = {'aabb': 1, 'ccdd': 2, 'eexx': 3}

我必须检查'xyz'中的键是否在'abc'中,然后更新'abc'字典。 预期产出:

abc = [{'aabb': 1}, {'ccdd': 2}, {'eeff': None}]

1 个答案:

答案 0 :(得分:4)

您可以使用列表理解使用xyz中的值来构建新的词组(使用其他词典理解):

lst = [{k: xyz.get(k) for k in d} for d in abc]
print(lst)
# [{'aabb': 1}, {'ccdd': 2}, {'eeff': None}]

dict.get会因缺少密钥而返回None