python展開(kāi)嵌套列表的多種方法
一、嵌套列表格式
本文模擬的嵌套列表alis,如下:
alis = [['xx', 'yy'], [2], ['四', 4], ['99']]
嵌套列表alis,有以下特點(diǎn):
1、嵌套列表alis,只有兩層,格式為:[[]]。
2、第一層列表中的元素也全都是列表類(lèi)型。
二、嵌套列表展開(kāi)方法
(一)for循環(huán)
最容易想到的就是采用for循環(huán)進(jìn)行展開(kāi)。
利用for循環(huán),結(jié)合列表本身的一些處理方法,可以有多種寫(xiě)法。
常見(jiàn)的3種寫(xiě)法如下:
(1)for循環(huán)+append()
alis = [['xx', 'yy'], [2], ['四', 4], ['99']] blis = [] for lis in alis: if type(lis) == list: for i in lis: blis.append(i) else: blis.append(lis) print('alis展開(kāi)后:', blis)
alis展開(kāi)后: [‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]
(2)for循環(huán)+python自加
原理:for循環(huán)相當(dāng)于將嵌套列表變單層列表,自加相當(dāng)于單層列表相加。
alis = [['xx', 'yy'], [2], ['四', 4], ['99']] blis = [] for lis in alis: blis += lis print("alis展開(kāi)后:", blis)
alis展開(kāi)后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]
(3)for循環(huán)+extend()
alis = [['xx', 'yy'], [2], ['四', 4], ['99']] blis = [] for lis in alis: blis.extend(lis) print("alis展開(kāi)后:", blis)
alis展開(kāi)后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]
(二)列表推導(dǎo)式
列表推導(dǎo)式,for循環(huán)的簡(jiǎn)潔版
alis = [['xx', 'yy'], [2], ['四', 4], ['99']] blis = [i for k in alis for i in k] print("alis展開(kāi)后:", blis)
alis展開(kāi)后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]
(三)使用sum函數(shù)
使用方法:sum(嵌套列表,[])
alis = [['xx', 'yy'], [2], ['四', 4], ['99']] blis = sum(alis, []) print("alis展開(kāi)后:", blis)
alis展開(kāi)后:[‘xx’, ‘yy’, 2, ‘四’, 4, ‘99’]
以上嵌套列表的展開(kāi)方法,主要是針對(duì)兩層嵌套列表、且第二層均是列表的情況。更多相關(guān)python展開(kāi)嵌套列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch torch.repeat_interleave()用法示例詳解
torch.repeat_interleave() 是 PyTorch 中的一個(gè)函數(shù),用于按指定的方式重復(fù)張量中的元素,這篇文章主要介紹了Pytorch torch.repeat_interleave()用法示例詳解,需要的朋友可以參考下2024-01-01Keras模型轉(zhuǎn)成tensorflow的.pb操作
這篇文章主要介紹了Keras模型轉(zhuǎn)成tensorflow的.pb操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Django商城項(xiàng)目注冊(cè)功能的實(shí)現(xiàn)
注冊(cè)功能是網(wǎng)頁(yè)項(xiàng)目必備的需求,本文提供了一個(gè)Django項(xiàng)目實(shí)現(xiàn)注冊(cè)功能的示例,有此需求的同學(xué)可以參考下2021-06-06python下函數(shù)參數(shù)的傳遞(參數(shù)帶星號(hào)的說(shuō)明)
python中函數(shù)參數(shù)的傳遞是通過(guò)賦值來(lái)傳遞的。2010-09-09淺談PyTorch中in-place operation的含義
這篇文章主要介紹了淺談PyTorch中in-place operation的含義,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之operator.itemgetter函數(shù)的使用
operator.itemgetter是Python標(biāo)準(zhǔn)庫(kù)operator模塊中的一個(gè)函數(shù),本文主要介紹了Python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之operator.itemgetter函數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07Python中uuid模塊的應(yīng)用實(shí)例詳解
這篇文章主要介紹了Python中uuid模塊應(yīng)用的相關(guān)資料,該模塊提供了多種方法生成UUID,包括uuid1()、uuid3()、uuid4()和uuid5(),并解釋了UUID的格式,UUID在數(shù)據(jù)庫(kù)、分布式系統(tǒng)和網(wǎng)絡(luò)協(xié)議中廣泛應(yīng)用,是處理唯一標(biāo)識(shí)符的有力工具,需要的朋友可以參考下2024-11-11Python調(diào)用Google?Bard的圖文詳解
Google?Bard?是一種開(kāi)源數(shù)據(jù)可視化和探索工具,可為?開(kāi)發(fā)人員?提供支持,本文主要為大家介紹了Python調(diào)用Google?Bard的方法,需要的可以參考下2023-08-08