有这样的功能
def get_line_list(d, a=[]):
for i in d:
if type(i) != list:
a.append(i)
else:
get_line_list(i)
return a
print(get_line_list([1, 2, [True, False], ["Москва", "Уфа", [100, 101], ['True', [-2, -1]]], 7.89]))
第一个参数是一个多维列表,第二个参数是一个空列表,您需要将第一个元素中的所有元素移入其中,同时解包它们,以便列表最终是一维的。
问题:这里的递归函数在什么时候解包列表?这是怎么发生的?
第二个问题:递归这个话题需要操心多少,在实践中经常用到吗?这是某种黑暗,我想知道是否值得忍受和理解它?