将 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]

更新于: 2020 年 5 月 20 日

547 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告