Revision 2156
Added by Aaron Marcuse-Kubitza over 12 years ago
lib/iters.py | ||
---|---|---|
14 | 14 |
for elem in iter_: pass |
15 | 15 |
|
16 | 16 |
def flatten(outer_iter): |
17 |
for iter_ in outer_iter: |
|
18 |
for el in iter_: yield el |
|
17 |
if is_iterable(outer_iter): |
|
18 |
for iter_ in outer_iter: |
|
19 |
if is_iterable(iter_): |
|
20 |
for el in iter_: yield el |
|
21 |
else: yield iter_ |
|
22 |
else: yield outer_iter |
|
19 | 23 |
|
20 | 24 |
def flatten_n(outer_iter, depth=2): |
21 | 25 |
if depth < 2: return outer_iter |
Also available in: Unified diff
iters.py: flatten(): If not an iterable, just return the value