1. 给定a = [1,2,[3,4,[5,6,7,[8,9,[10,11]]]]],要求打印输出:1,2,3,4,5,6,7,8,9,10,11
使用递归函数遍历a,当a的值为list,继续调用递归函数,一层一层的取值
def iter_list(l):
for i in l:
if isinstance(i,list):
iter_list(i)
#当当前传入的列表里面的元素为list的时候,调用递归函数
else:
print(i,end =' ')
iter_list(a)
2.在第1题的基础上将生成结果为一个列表
#方法1
def iter_list(l,result=[]):
#result是默认参数,当不传值的时候使用result=[],当传值的时候使用传入的值
for i in l:
if isinstance(i,list):
iter_list2(i,result)
else:
result.append(i)
return result
print(iter_list(a))
#方法2
def iter_list2(l,result):
for i in l:
if isinstance(i,list):
iter_list2(i,result)
else:
result.append(i)
retu