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