¿Existe una función incorporada que funcione zip()pero que rellene los resultados para que la longitud de la lista resultante sea la longitud de la entrada más larga en lugar de la más corta ?
>>> a = ['a1']
>>> b = ['b1', 'b2', 'b3']
>>> c = ['c1', 'c2']
>>> zip(a, b, c)
[('a1', 'b1', 'c1')]
>>> What command goes here?
[('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]

itertoolses un módulo C incorporado de todos modos.Para Python 2.6x, use los
itertoolsmódulosizip_longest.Para Python 3, use
zip_longesten su lugar (sin encabezadoi).fuente
six.moves.zip_longest.Solución no itertools Python 3:
fuente
Solución no itertools My Python 2:
fuente
Estoy usando una matriz 2d pero el concepto es similar al uso de python 2.x:
fuente