python - 根据键将项目从字典复制到另一个字典
问题描述
我有一个清单
list_x = ['8', '4', '5', '6', '1']
和一本字典
dict_1 = {'0': {'ID=3': 1, 'ID=7': 1},
'1': {'ID=7': 2, 'ID=6': 2},
'2': {'ID=7': 3, 'ID=5': 1},
'3': {'ID=7': 2, 'ID=1': 1},
'4': {'ID=3': 3, 'ID=5': 1, 'ID=4': 1},
'5': {'ID=5': 1, 'ID=2': 3, 'ID=4': 2, 'ID=7': 1, 'ID=8': 1},
'6': {'ID=0': 5, 'ID=3': 7, 'ID=1': 1},
'7': {'ID=1': 1, 'ID=8': 1, 'ID=7': 1},
'8': {'ID=6': 2, 'ID=0': 2, 'ID=2': 2}}
并且我想创建一个新字典 dict_2,其中存储了 dict_1 的所有项目,这些项目具有 list_x 中存在的键。我怎样才能做到这一点?我在使用两个嵌套的 for 循环时遇到了麻烦,因为我可以访问键但我无法复制整个项目。
解决方案
尝试这样的事情
list_x = ['8', '4', '5', '6', '1']
dict_1 = {'0': {'ID=3': 1, 'ID=7': 1},
'1': {'ID=7': 2, 'ID=6': 2},
'2': {'ID=7': 3, 'ID=5': 1},
'3': {'ID=7': 2, 'ID=1': 1},
'4': {'ID=3': 3, 'ID=5': 1, 'ID=4': 1},
'5': {'ID=5': 1, 'ID=2': 3, 'ID=4': 2, 'ID=7': 1, 'ID=8': 1},
'6': {'ID=0': 5, 'ID=3': 7, 'ID=1': 1},
'7': {'ID=1': 1, 'ID=8': 1, 'ID=7': 1},
'8': {'ID=6': 2, 'ID=0': 2, 'ID=2': 2}}
d={k:dict_1.get(k).copy() for k in list_x if k in dict_1}
print(d)
推荐阅读
- html - 如何更正我的代码并在此处包装 nav 元素,如提供的照片所示?
- laravel - Laravel TALL npm run dev --openssl-legacy-provider 在 NODE_OPTIONS 中是不允许的
- laravel - 使用 PostgreSQL 时的 Erro Nova ChartJs SQL 生成器
- python - 将特定列导入 Pandas 数据框
- ios - 如何复制元素
- java - 通过终端(或命令提示符)运行 jar 时的 ClassNotFoundEcception
- flutter - Flutter 中有没有办法扫描二维码并拍照?
- .htaccess - .htaccess 用于缺少带有通配符的图像
- angular - Angular - 将图像vom ios上传到springBoot - 错误
- python - 来自类属性的类型提示