def rezip(aList):
    ''' d = [[1, 5, 8, 3], [2, 2, 3, 9], [3, 2, 4, 6]]
        rezip(d):
        [(1, 2, 3), (5, 2, 2), (8, 3, 4), (3, 9, 6)]

    If a =[1, 5, 8], b=[2, 2, 3], c=[3, 2, 4]
    then it's eazy to: zip(a,b,c) = [(1, 2, 3), (5, 2, 2), (8, 3, 4)]

    But it's hard for d = [[1, 5, 8], [2, 2, 3], [3, 2, 4]]    
    '''

    tmp = [ [] for x in range(len(aList[0])) ]
    for i in range(len(aList[0])):
        for j in range(len(aList)):
            tmp[i].append(aList[j][i])
    return tmp
 d = [[1, 5, 8, 3], [2, 2, 3, 9], [3, 2, 4, 6]]
        rezip(d):
        [(1, 2, 3), (5, 2, 2), (8, 3, 4), (3, 9, 6)]

    If a =[1, 5, 8], b=[2, 2, 3], c=[3, 2, 4]
    then it's eazy to: zip(a,b,c) = [(1, 2, 3), (5, 2, 2), (8, 3, 4)]

    But it's hard for d = [[1, 5, 8], [2, 2, 3], [3, 2, 4]]    
    
recipes/Python/278258_List_Tools/recipe-278258.py