python - 如何在字典理解中创建某些值的元组?
问题描述
我有很多这样的字典:
data_sample = {'query_result': {'imdbid': 50083, 'file name': '12.Angry.Men.1957.Criterion.Collection.720p.BluRay.x264-WiKi.fre.srt', 'IDSubtitleFile': '1952985556'},
'movie directory': 'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'}
基本上:
data_collection = [data_sample] * 10
我想要的输出是一个元组,其中包括:
(query_result["IDSubtitleFile"], movie_directory)
我将如何使用列表理解创建所需的输出?我知道如何使用 for 循环来做到这一点,但我正在努力使用列表理解来管理它。我唯一的想法是这个,但它会引发错误,实际上没有任何意义:
[[(value["IDSubtitleFile"], value) for value in data_sample.values()] for data_sample in data_collection]
写完之后,我认为在这种情况下根本不使用列表推导可能更明智。
解决方案
这种理解会:
results = [
(d["query_result"]["IDSubtitleFile"], d["movie directory"])
for d in data_collection
]
结果:
>>> pprint([(d["query_result"]["IDSubtitleFile"], d["movie directory"]) for d in data_collection])
[('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem'),
('1952985556',
'C:\\...\\Movies\\12 Angry Men 1957 1080p BluRay x264 AAC - Ozlem')]
推荐阅读
- woocommerce - 指定 WooCommerce 产品图像配给是否从中心/中心裁剪图像?
- docker - Docker 无法使用 WSL2 中的相对路径进行复制
- azul-zulu - 适用于 Windows 操作系统上 ZULU OpenJRE 7 的 AMD64 或 x86 64 位软件包
- flutter - 这个函数产生的盐有多独特?
- r - posixct 数据类型使用 axis.Date() 时的 X 轴自定义间隔
- sql - Hive : 通过与数据定义记录比较来验证数组中填充数据的质量,并查找填充的数据百分比,数据的质量等级
- reactjs - reactjs上根据动态数据填写表单
- angular - 在角度模块中导入不需要的功能模块是否会增加大小或影响性能
- java - 无法接收来自对讲机、FCM 的推送通知
- python - 带有类列表的 Python 类 - 没有按我预期的那样工作