libaaron/libaaron.py
def flatten(iterable, map2iter=None):
    """recursively flatten nested objects"""
    if map2iter and isinstance(iterable):
        iterable = map2iter(iterable)

    for item in iterable:
        if isinstance(item, str) or not isinstance(item, abc.Iterable):
            yield item
        else:
            yield from flatten(item, map2iter)
def flatten(iterable, map2iter=None):
    if map2iter and isinstance(iterable):
        iterable = map2iter(iterable)

    for item in iterable:
        if isinstance(item, str) or not isinstance(item, abc.Iterable):
            yield item
        else:
            yield from flatten(item, map2iter)
def flatten ( iterable , map2iter = None ) : if map2iter and isinstance ( iterable ) : iterable = map2iter ( iterable ) for item in iterable : if isinstance ( item , str ) or not isinstance ( item , abc . Iterable ) : yield item else : yield from flatten ( item , map2iter )
recursively flatten nested objects
recursively flatten nested objects