首页 > 解决方案 > 如何在 Python 中更新字典列表中的键

问题描述

我有一个非常简单的用例,我必须更新字典列表中的键。代码如下:

original = [
    {
        "name": "Subhayan",
        "age": 34
    },
    {
        "name": "Poulomi",
        "age": 30
    }
]

update_data = {
    "Subhayan": 50,
    "Poulomi": 46
}

check = [x["age"] = update_data[x["name"]] for x in original]
print(check)

我有这个奇怪的错误:

  File "try_defaultdict.py", line 17
    check = [x["age"] = update_data[x["name"]] for x in original]
                      ^
SyntaxError: invalid syntax

我知道这可以使用一个简单的for循环来完成。但我想知道我是否可以使用列表理解方法来做到这一点?

标签: python

解决方案


也许您想创建新词典?在这种情况下,这是可能的并且没问题:

check = [{"name": x["name"], "age": update_data[x["name"]]} for x in original]

结果:

>>> check
[{'name': 'Subhayan', 'age': 50}, {'name': 'Poulomi', 'age': 46}]

推荐阅读