python - 如何在 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
循环来完成。但我想知道我是否可以使用列表理解方法来做到这一点?
解决方案
也许您想创建新词典?在这种情况下,这是可能的并且没问题:
check = [{"name": x["name"], "age": update_data[x["name"]]} for x in original]
结果:
>>> check
[{'name': 'Subhayan', 'age': 50}, {'name': 'Poulomi', 'age': 46}]
推荐阅读
- java - 为什么我们在这段代码中使用 new 来调用方法?
- c++ - Qt继承和类构造函数混淆
- python-2.7 - with conn: AttributeError: __exit__ 使用套接字接收消息时
- java - 初始化时打印超出范围
- java - 每个 for 循环都打印在新行上,即使它不应该
- python - Python - 遍历一个列表并将每第 n 次迭代的 n 个值附加到一个向量
- javascript - 使用
在本地 - reactjs - React 页面在电话/Chrome 电话视图上冻结
- android - Android 未正确检测到意图操作
- linux - 从内核模块创建 POSIX 队列