简体   繁体   中英

Combine Python List and Dict comprehension with counter

I want to transfer a list of tuples:

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

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

How can this be achieved?

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

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM