For multilevel, and readable code:
def flatten(bla):
output = []
for item in bla:
output += flatten(item) if hasattr (item, "__iter__") or hasattr (item, "__len__") else [item]
return output
I could not get this to fit in one line (and remain readable, even by far)