嵌套的列表数据:
lst = [1,2,[3,4],5,[6,[7,8]]]
大多数情况下不知道最深的嵌套是第几层,所以每次只能使用递归去解决平铺问题。代码如下:
def flatten_list(nested_list):result = []for item in nested_list:if isinstance(item, list):result.extend(flatten_list(item))else:result.append(item)return resultmy_list = [[1, 2, [3, 4], 5], [6, [7, [8, 9]], 10]]
print(flatten_list(my_list))# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
一行代码平铺:
flatten_list = lambda nested_list: sum(map(flatten_list,nested_list),[]) if isinstance(nested_list,list) else [nested_list]
这行代码中使用了map
函数,将nested_list
中的每个元素都应用于 flatten_list
函数。
flatten_list