""" unzip simple list-like obj """ def unzip(p, n): """ Example: >>> unzip(['a','b','c','d','e'], 3) [('a', 'd'), ('b', 'e'), ('c', None)] """ mlen, lft = divmod(len(p), n) if lft != 0: mlen += 1 lst = [[None] * mlen for i in range(n)] for i in range(len(p)): j, k = divmod(i, n) lst[k][j] = p[i] return map(tuple, lst) print unzip([ ' a ' , ' b ' , ' c ' , ' d ' , ' e ' ], 3 ) # ######################################### the output is : >>> [( ' a ' , ' d ' ), ( ' b ' , ' e ' ), ( ' c ' , None)] >>>