First page Back Continue Last page Overview Graphics

Iterative Solution (only lists)

def flatten(items, seqtypes=(list, tuple)):

for i, x in enumerate(items):

while i < len(items) and isinstance(items[i], seqtypes):

print(i, x, items)

items[i:i+1] = items[i]

return items

nested_list = [1, [[2, 3]], 4, [5, [6, [7, [8, 9]]]]]

print(flatten(nested_list))