将Python List和Dict理解与计数器结合起来

时间:2017-02-27 13:06:15

标签: python list dictionary list-comprehension

我想传输一个元组列表:

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

dict的列表(为了创建一个pandas数据帧),它看起来像:

[{'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}]

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

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

如何实现这一目标?

1 个答案:

答案 0 :(得分:7)

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

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

因此第二个for循环遍历元组中的元素,并且对于每个元素,都会生成一个字典并将其添加到结果中。