python - 我将如何合并嵌套字典以使键不同但值会更新
问题描述
我将如何合并 2 个字典但删除与字典不同的内容或更新它。例如:
account = {
"1": {"name": "bob", "age": "20", "work": "Assistant"},
"2": {"name": "James", "age": "36", "work": "Dev"},
}
accounts = {
"bob": {"name": "bob", "age": "25", "work": "Dev"},
"James": {"name": "James", "age": "40", "work": "Assistant"},
}
给我留下一本预期的字典:
account = {
"1": {"name": "bob", "age": "25", "work": "Dev"},
"2": {"name": "James", "age": "40", "work": "Assistant"},
}
我正在尝试使用 2 个不同的键但相同的值来更新字典。所以没有键是相同的,但值是相同的。有什么建议么?
解决方案
这使用字典理解来创建一个新字典,方法是遍历字典account
并检查name
与每个相关联的内容是否id
存在于 the 中accounts
,如果它确实用name
from的值替换它,accounts
否则保持相同的值。
account = {key: accounts.get(value["name"], value) for key, value in account.items()}
推荐阅读
- python-3.x - 如何在docker文件中使用python文件路径并将python程序的日志写入ubuntu上的/var/log文件?
- jquery - 滚动上的收缩菜单在“收缩点”上闪烁
- azure-data-explorer - 在 UI 中进行 Kusto 分组
- reactjs - React中路由器中的条件类名
- python - 使用 tensorflow 2 执行矩阵分解的简单方法
- javascript - 部分屏蔽电子邮件地址 - javascript
- sql - 将多个入口实例合并为一个,将差异合并为数组
- android - 更新到 Android 11 后 Admob 中出现严格的安全 Cookie 策略错误
- flutter - 在构建期间调用 setState() 或 markNeedsBuild()。调用原生广告时
- python - Python中的秒表函数