List explanation with zip()
function is easiest:
[list(t) for t in zip(*list_of_tuples)]
This applies to each individual tuple as a zip()
argument using the *arguments
extension syntax. zip()
then combines each value from each tuple into new tuples.
Demo:
>>> list_of_tuples = [('day1', 'name1', 'value1'), ('day2', 'name2', 'value2'), ('day3', 'name3', 'value3')] >>> [list(t) for t in zip(*list_of_tuples)] [['day1', 'day2', 'day3'], ['name1', 'name2', 'name3'], ['value1', 'value2', 'value3']]
This forces the output to use lists; you can just use direct zip()
if you only need 3 digit combos:
>>> zip(*list_of_tuples) [('day1', 'day2', 'day3'), ('name1', 'name2', 'name3'), ('value1', 'value2', 'value3')]
In Python 3, use list(zip(*list_of_tuples))
or just skip the output.
source share