python中很多時候可能會遇到多層嵌套可迭代列表如下:

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)延慶,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
list1 = [11, 22, [33, 44, [55, 66]]]
list2 = [11, 22, [33, 44]]其中我們想要的結(jié)果只是一個所有的結(jié)果列表而已.此時就需要一個剝皮函數(shù),把嵌套的元素全部剝離出來,放入一個列表中(遞歸實現(xiàn)).
實現(xiàn)函數(shù)如下:
def f(x, ret=None):
# 把上一次的結(jié)果傳遞過來
if not ret:
ret = []
for i in x:
if isinstance(i, list):
# 如果i為列表,則返回繼續(xù)處理,且把現(xiàn)在的處理結(jié)果傳遞回去
f(i, ret)
else:
ret.append(i)
# 最終返回所有的元素
return ret 第二種方法:
# 第二種方法
def f2(x):
ret = []
for m in x:
if isinstance(m, list):
# 進行遞歸剝皮將列表挨個遞歸添加到ret列表中
# 因為f2函數(shù)最終返回的是一個列表,所以不管多少層f2(m)將始終是一個列表
# 循環(huán)將元素加入ret列表中
for n in f2(m):
ret.append(n)
else:
ret.append(m)
return ret
網(wǎng)頁名稱:多層嵌套可迭代列表的剝皮函數(shù)
文章URL:http://chinadenli.net/article44/pgpeee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、App開發(fā)、用戶體驗、、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)