I need to write a function to flat nested lists as this one:
[[1,2,3],4,5,[6,[7,8]]]
To the result:
[1,2,3,4,5,6,7,8]
So I searched for example code and I found this one that uses recursion (that I don't understand):
def flatten(l):
ret = []
for i in l:
if isinstance(i, list) or isinstance(i, tuple):
ret.extend(flatten(i)) #How is flatten(i) evaluated?
else:
ret.append(i)
return ret
So I know what recursion is, but I don't know how is
flatten(i)
evaluated, what value does it returns?