A query about list
Tony Clarke
a.clarke11 at ntlworld.com
Sun Oct 12 04:39:49 EDT 2003
More information about the Python-list mailing list
Sun Oct 12 04:39:49 EDT 2003
- Previous message (by thread): A query about list
- Next message (by thread): A query about list
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Robert Brewer" <fumanchu at amor.org> wrote in message news:<mailman.1065733220.31901.python-list at python.org>... > Dave Benjamin wrote: > > Santanu Chatterjee wrote: > > > I am very new to python. I have a query about > > > list in python. > > > > > > Suppose I have a list > > > a = [1,[2,3,4],5,6,7,[8,9,10],11,12] > > > I want to know if there is any simple python > > > facility available that would expand the above list > > > to give > > > a = [1,2,3,4,5,6,7,8,9,10,11,12] > > > > > Normally, I'd suggest "reduce(operator.add, ...)" to flatten > > a list, but > > since you've got some "naked" entries, that won't work... > > > > >>> def merge(x, y): > > ... if type(y) is type([]): return x + y > > ... return x + [y] > > ... > > >>> reduce(merge, a, []) > > [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] > > > > Neat trick with the third parameter to reduce! Didn't know about that > behavior. That cuts my long one-liner down from: > > >>> reduce(lambda x, y: {type([]): x}.get(type(x), [x]) + {type([]): > y}.get(type(y), [y]), a) > > to just: > > >>> reduce(lambda x, y: x + {type([]): y}.get(type(y), [y]), a, []) > [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] > > /shudder. But it's fun. :) > > > Robert Brewer > MIS > Amor Ministries > fumanchu at amor.org How about this single function (although not a single line:<), which also works for any kind of sequence, and can cope with different types in the sequence: a = [1,[2,3,4],5,6,7,[8,9,10],11,12] def depth(sequence): for item in sequence: try: b=len(item) depth(item) except: print item, continue depth(a) I think this is a precursor to generators, but I'm still on Python 2.1.
- Previous message (by thread): A query about list
- Next message (by thread): A query about list
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list