def flatten(l):
    for i in l:
        if isinstance(i, Iterable) and not isinstance(i, str):
            for sub in flatten(i):
                pass
Python: элегантный способ создания списка кортежей?