У меня есть следующий код:
def flat_list(array):
d=[]
for i in array:
if not isinstance(i, list):
d.append(i)
else:
flat_list(i)
return d
Когда я звоню flat_list([1, [2, 2, 2], 4])
, я ожидаю, что он вернет распакованный список ([1, 2, 2, 2, 4]). Вместо этого он возвращает ([1, 4]). Хотя, если я попробую (print i)
вместо (d.append(i))
, он вернется без упаковки, то есть.
Я прочитал статью о рекурсии, он говорит, что return должен быть после базового условия.
Как мне использовать kindda (return d.append(i)
)?