有如下列表:
[1, [2,3], [4, [5,6]], 'abc']
拉平后:
[1, 2, 3, 4, 5, 6, 'abc']
使用递归的思想完成:
def dfs(arr, res):
for item in arr:
if isinstance(item, list):#判断元素是否为list类型
dfs(item, res)#递归
else:#是其他类型的元素时,直接追加至res
res.append(item)
return#遍历完所有元素之后返回
if __name__ == '__main__':
arr = [1, [2,3], [4, [5,6]], 'abc']
res = []
dfs(arr, res)
print(res)#[1, 2, 3, 4, 5, 6, 'abc']