Python通過(guò)遞歸函數(shù)輸出嵌套列表元素
1.先用 for 循環(huán)取
for item in l: if isinstance(item ,list): for newitem in item: print(newitem) else: print(item
輸出:123456
#利用 for 循環(huán)取值,有幾層嵌套就要寫(xiě)幾層 for 循環(huán),否則不識(shí)別。l=[1,2,[3,4],[5,6,[7,8]]]for item in l: if isinstance(item ,list): for newitem in item: print(newitem) else: print(item
輸出
123456[7, 8]
2.遞歸函數(shù)實(shí)現(xiàn):
遞歸函數(shù)實(shí)現(xiàn):
def getitem(l): for item in l: if isinstance(item,list): getitem(item) else: print(item)getitem(l)
輸出:12345678910
變式1:遇到類表就縮進(jìn)一次:
def getitem(l,level=0): for item in l: if isinstance(item,list): getitem(item,level+1) else: for tab in range(level):print(’t’,end=’’ #輸出一個(gè) 制表符,并且將 print 后面的換行符去掉,這樣就是了縮進(jìn) print(item)getitem(l)
輸出

變式2:加入開(kāi)啟機(jī)制,是否縮進(jìn)
def getitem(l,level=0,count=False): for item in l: if isinstance(item,list): getitem(item,level+1,count) else: if count:for tab in range(level): print(’t’,end=’’ #輸出一個(gè) 制表符,并且將 print 后面的換行符去掉,這樣就是了縮進(jìn)print(item) print(item)getitem(l)
輸出
12345678910
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解Android studio 動(dòng)態(tài)fragment的用法2. 解決Android studio xml界面無(wú)法預(yù)覽問(wèn)題3. 圖文詳解vue中proto文件的函數(shù)調(diào)用4. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)5. php模擬實(shí)現(xiàn)斗地主發(fā)牌6. 什么是python的自省7. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)8. vue 使用localstorage實(shí)現(xiàn)面包屑的操作9. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟10. Vuex localStorage的具體使用

網(wǎng)公網(wǎng)安備