將 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 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.