something for itertools

George Sakkis george.sakkis at gmail.com
Fri Sep 15 18:58:30 EDT 2006


Daniel Nogradi wrote:
> In a recent thread,
> http://mail.python.org/pipermail/python-list/2006-September/361512.html,
> a couple of very useful and enlightening itertools examples were given
> and was wondering if my problem also can be solved in an elegant way
> by itertools.
>
> I have a bunch of tuples with varying lengths and would like to have
> all of them the length of the maximal and pad with None's. So
> something like
>
> a = ( 1, 2, 3 )
> b = ( 10, 20 )
> c = ( 'x', 'y', 'z', 'e', 'f' )
>
> should turn into
>
> a = ( 1, 2, 3, None, None )
> b = ( 10, 20, None, None, None )
> c = ( 'x', 'y', 'z', 'e', 'f' )
>
> Of course with some len( ) calls and loops this can be solved but
> something tells me there is a simple itertools-like solution.
>
> Any ideas?

Not the most readable one-liner of all times, but here it goes:

a,b,c = zip(*map(None,a,b,c))


George




More information about the Python-list mailing list