I am still unsure about the mechanism of recursion. For the code below as an example (a function that returns all elements of list in list as an unnested list);
def unnest(list_in_list):
unnested = []
for i in list_in_list:
if type(i) == list:
# when element is inside a list_in_list
**elem = unnest(i)**
unnested = unnested + elem
else:
# when element is not inside a list_in_list
unnested.append(i)
return unnested
I do not get what elem = unnest(i)
exactly does to unnest the list something like [1, [2], [[3], [[4], 5]]]
.