在Python中将嵌套列表转换为平面列表

嵌套列表是一个列表,其元素是列表本身。如果我们有一个python数据容器,它是一个嵌套列表,则有时可能需要将其转换为扁平列表,以便可以进一步处理每个元素。

甚至内部元素也可以自己嵌套。并且可以有很多嵌套层。因此,我们将通过递归来解决这个问题。我们将继续检查元素是否嵌套,然后继续反复应用该函数,直到该元素不再是列表为止。一旦发现元素不是列表,我们会将其附加到新列表中,该列表将包含列表中所有非嵌套元素。

示例

listA = [[43, [0]],12, 19, [13,[8, 8]], 21 ]
print('Given nested list: \n', listA)
# Flat List
res = []
# function
def flatlist(l):
   for x in l:
      if type(x) == list:
         flatlist(x)
      else:
         res.append(x)
flatlist(listA)
print('Flattened List created: \n', res)

输出结果

运行上面的代码给我们以下结果-

Given nested list:
[[43, [0]], 12, 19, [13, [8, 8]], 21]
Flattened List created:
[43, 0, 12, 19, 13, 8, 8, 21]