def flatten(lst):
result = []
print(lst)
if lst:
first = lst[0]
print("first: ", first)
if type(first)==list or type(first)==tuple:
result.extend(flatten(first))
elif type(first)==dict:
result.extend(flatten(list(first.items()) ))
else:
result.append(first)
print("lst1: ", lst[1:])
result.extend(flatten(lst[1:]))
return result
lst = [(3, 4, [56, [78, (12, {"a":45, "b":89}, 9)]]), 56, "Hallo"]
print(flatten(lst))