演算法 巢狀列表展開

2021-08-20 22:08:11 字數 820 閱讀 1742

"""

問題1:對於列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]

轉化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的問題。

"""list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]

#方法一

list_2 =

for sub_list in list_1:

list_2 += sub_list

print(list_2)

#方法二

'''list_2 = [i for k in list_1 for i in k]

print(list_2)

'''#方法三

'''list_2 = sum(list_1, )

print(list_2)

'''#問題2:對於複雜一些的,如:list =[1,[2],[[3]],[[4,[5],6]],7,8,[9]],

# 上面的方法就不好使了。得換個方法了,這裡使用遞迴的方法解決。

'''list_3 =[1, [2], [[3]], [[4, [5], 6]], 7, 8, [9]]

def flat(num):

res =

for i in num:

if isinstance(i, list):

res.extend(flat(i))

else:

return res

print(flat(list_3))

'''

Python 巢狀列表展開

問題1 對於列表形如 list 1 1,2 3,4,5 6,7 8 9 轉化成列表 list 2 1,2,3,4,5,6,7,8,9 的問題。python實現 普通方法 list 1 1,2 3,4,5 6,7 8 9 list 2 for in list 1 list 2 print list 2...

遞迴巢狀列表

乙個多表的建立 該列表儲存在目錄 並輸出的專案列表 例如下面的附圖 能夠看出輸出的僅僅是輸出了外列表 當然也能夠多次迴圈輸出每個子項 例如以下圖所看到的 注 isinstance object,classinfo 為python的內建函式,用來推斷物件的型別 這是三層迴圈,假設是非常多次迴圈再用fo...

列表的巢狀

author kevin hou movies the holy grail 1975,terry jones terry gilliam 91,graham chapman michel palin john cleese terry gilliam eric idle terry jones p...