如何在字典中创建特定值的元组?

2024-07-04 15:32:02 发布

您现在位置: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]

写完这篇文章后,我想在这个案例中最好不要使用列表理解法


Tags: samplein列表fordatavalueresultmovie
1条回答
网友
1楼 · 发布于 2024-07-04 15:32:02

这种理解可以:

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')]

相关问题 更多 >

    热门问题