looping through a list of lists.
anton muhin
antonmuhin.REMOVE.ME.FOR.REAL.MAIL at rambler.ru
Wed Oct 8 13:31:13 EDT 2003
More information about the Python-list mailing list
Wed Oct 8 13:31:13 EDT 2003
- Previous message (by thread): looping through a list of lists.
- Next message (by thread): SUCK my HUSBAND'S CUM from my CUNT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Peter Otten wrote: > Rob Hunter wrote: > > >>The responder to this post has a cool way of doing it, but it won't >>work (I believe) if you have an arbitrary number of sublists. Can you >>clarify the problem? Do you have an arbitrary number of sublists? Or >>is it always 3? > > > I you are referring to the zip trick posted by SBrunning at trisystems.co.uk, > it *does work for an arbitrary number of sublists, but not for > arbitrary-length sublists: > > >>>>for loc in zip(*"alpha beta gamma delta".split()): > > ... print loc > ... > ('a', 'b', 'g', 'd') > ('l', 'e', 'a', 'e') > ('p', 't', 'm', 'l') > ('h', 'a', 'm', 't') > > > Peter Consider the following: PythonWin 2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)] on win32. Portions Copyright 1994-2001 Mark Hammond (mhammond at skippinet.com.au) - see 'Help/About PythonWin' for further copyright information. >>> l = [range(0, 5), range(1, 7), range(3, 5)] >>> l [[0, 1, 2, 3, 4], [1, 2, 3, 4, 5, 6], [3, 4]] >>> for e in zip(*l): ... print e ... (0, 1, 3) (1, 2, 4) >>> for e in map(None, *l): print e ... (0, 1, 3) (1, 2, 4) (2, 3, None) (3, 4, None) (4, 5, None) (None, 6, None) >>> It pads missing elements with Nones. Is it what you need? zip(*l) is similar to zip(l[0], l[1], ...., l[len(l) - 1])---it substitutes list elements to function parameters. HTH, anton.
- Previous message (by thread): looping through a list of lists.
- Next message (by thread): SUCK my HUSBAND'S CUM from my CUNT
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list