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))