A query about list
Mel Wilson
mwilson at the-wire.com
Fri Oct 10 11:05:23 EDT 2003
More information about the Python-list mailing list
Fri Oct 10 11:05:23 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 ]
In article <slrnbobkr7.io6.ramen at lackingtalent.com>, Dave Benjamin <ramen at lackingtalent.com> wrote: >This *seems* to work, but I have a sneaking feeling there's a bug in here as >a result of the slice assignment. I haven't been able to find a boundary >case that breaks this, but it seems like the slice assignment would mess up >the indexes in the loop. Can anyone find a way to either break or improve >this? It does or doesn't, depending on what you want: def flatten (a): for i in xrange (len(a)-1, -1, -1): if type (a[i]) is type ([]): a[i:i+1] = a[i] def deep_flatten (a): i = 0 while i < len (a): if type (a[i]) is type ([]): a[i:i+1] = a[i] else: i += 1 if __name__ == '__main__': def test (xx): print xx x = xx[:] flatten (x); print x x = xx[:] deep_flatten (x); print x print test ([1,2, [3,4], 5, [], [6,7,8], 9]) test ([1, [20,21], [30,[310,311],32], [], [4], 5]) Regards. Mel.
- 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