"""实现扁平化数组。给定可能包含嵌套数组的数组,生成单个结果数组。"""fromcollections.abcimportIterable#返回listdefflatten(input_arr,output_arr=None):ifoutput_arrisNone:output_arr=[]foreleininput_arr:ifisinstance(ele,Iterable):flatten(ele,output_arr)#尾递归else:output_arr.append(ele)#生成结果returnoutput_arr#返回iteratordefflatten_iter(iterable):"""以多维的可迭代容器作为输入,返回输出一维的生成器。"""forelementiniterable:ifisinstance(element,Iterable):yieldfromflatten_iter(element)else:yieldelement参考链接: