Project

General

Profile

« Previous | Next » 

Revision 2156

iters.py: flatten(): If not an iterable, just return the value

View differences:

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