将Python列表和Dict理解与计数器结合使用

问题描述:

我要转移一个元组列表:

I want to transfer a list of tuples:

[(1, 3, 5), (2, 4, 6), (7, 8, 9)]

dict 的列表(以创建熊猫数据框),如下所示:

to a list of dict (in order to create a pandas dataframe) which looks like:

[{'index':1, 'match':1},{'index':1, 'match':3},{'index':1, 'match':5},
{'index':2, 'match':2}, {'index':2, 'match':4},{'index':2, 'match':6},
{'index':3, 'match':7},{'index':3, 'match':8},{'index':3, 'match':9}]

出于性能原因,我想使用列表和字典理解:

For performance reasons I wanted to use a list and dict comprehension:

[{'index':ind, 'match': } for ind, s in enumerate(test_set, 1)]

如何实现?

您可以使用列表理解使用第二个 for 遍历'match' es:

You can use list comprehension use a second for to loop over the 'match'es:

[{'index':ind, 'match':match} for ind,s in enumerate(test_set,1) for match in s]

因此,第二个 for 循环遍历元组中的元素,并为这些元素中的每个元素生成一个字典并将其添加到结果中.

So the second for loop iterates over the elements in the tuples and for each of these elements, a dictionary is generated and added to the result.