a = [(1, 'John', 1996),
(2, 'Doodie', 2001),
(3, 'Doe', 2006)]
b = list(zip(*a))
#[(1, 2, 3),
#('John', 'Doodie', 'Doe'),
#(1996, 2001, 2006)]
'''O(m*n) time complexity, if data >1000, use numpy or pandas'''
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
t = list(zip(*l))
# t = [(1, 4, 7), (2, 5, 8), (3, 6, 9)] # list with tuples
t = list(map(list, zip(*l)))
# t = [[1, 4, 7], [2, 5, 8], [3, 6, 9]] # list with lists
# t = [*map(list, zip(*l))] works as well