假设有一个多层嵌套的list:[ 1, [2, 3], 4, [5, 6, 7]],从中取出单个元素,组成一个新的list。
解题思路:很明显,采用递归的方法,在一个遍历原始list的for循环中,判断该遍历的是元素还是list,如果是元素则直接append,如果是list则调用函数进行递归。
代码如下:
result = []
def solve_list(list):
for s in list:
if type(s) != list:
result.append(s)
else:
solve_list(s)
list = [1, [2, 3], 4, [5, 6, 7]]
solve(list)
print(result)
运行结果如下:
[1, 2, 3, 4, 5, 6, 7]