展開巢狀列表

boye169發表於2024-04-10

模擬資料

data = [[1,2,6],[4],[5,8,7],[11,9],[10]]  # 模擬資料

  

方式1:for迴圈

from collections.abc import Iterable
sum_data = [] for i in data: if isinstance(i,Iterable): # 如果可迭代(比如列表形式) for j in i: # 再次迴圈追加元素 sum_data.append(j) else: sum_data.append(i) # 否則直接追加 #sum_data #[1, 2, 6, 4, 5, 8, 7, 11, 9, 10]

 

方式2:列表推導式

from collections.abc import Iterable
sum_data = [i for j in data  if isinstance(j,Iterable) for i in j]
#[1, 2, 6, 4, 5, 8, 7, 11, 9, 10]

  

方式3:使用sum函式

sum_data = sum(data, [])
#sum_data
#[1, 2, 6, 4, 5, 8, 7, 11, 9, 10]

 

 

相關文章