成人免费观看网欧美片-成人免费观看视频-成人免费观看男女羞羞视频-成人免费观看的视频黄页-成人免费高清视频-成人免费福利片在线观看

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > pythonlist可以嵌套嗎

pythonlist可以嵌套嗎

來源:千鋒教育
發布人:xqq
時間: 2023-11-09 15:36:32 1699515392

python中的列表是可以嵌套的。將嵌套的list遍歷并輸出是很常見的需求。以下通過兩種方法達到目的

defnested_list(list_raw,result):

foriteminlist_raw:

ifisinstance(item,list):

nested_list(item,result)

else:

result.append(item)

returnresult

defflatten_list(nested):

ifisinstance(nested,list):

forsublistinnested:

foriteminflatten_list(sublist):

yielditem

else:

yieldnested

defmain():

list_raw=["a",["b","c",["d"]]]

result=[]

print"nested_listis:",nested_list(list_raw,result)

print"flatten_listis:",list(flatten_list(list_raw))

main()

讓代碼run起來,輸出為:

nested_listis:['a','b','c','d']

flatten_listis:['a','b','c','d']

nested_list方法采用遞歸的方式,如果item是list類型,繼續遞歸調用自身。如果不是,將item加入結果列表中即可。

flatten_list方法則是采用生成器的方式,本質上也是遞歸的思路。

2.兩層嵌套list去重

list里面套了一層list,需要去重,并在生成一個去重的list。請看代碼:

defdup_remove_set(list_raw):

result=set()

forsublistinlist_raw:

item=set(sublist)

result=result.union(item)

returnlist(result)

defmain():

list_dup=[[1,2,3],[1,2,4,5],[5,6,7]]

printdup_remove_set(list_dup)

讓代碼run起來:

[1,2,3,4,5,6,7]

基本思路:將每一個子list轉為set,然后求并集,即可。

3.多重嵌套去重

defdup_remove(list_raw,result):

foriteminlist_raw:

ifisinstance(item,list):

dup_remove(item,result)

else:

result.add(item)

returnlist(result)

defmain():

list_raw=["a",["b","c",["d","a","b"]]]

result=set()

print"dup_removeis:",dup_remove(list_raw,result)

讓代碼run起來:

dup_removeis:['a','c','b','d']

基本思路與之前遍歷嵌套list的思路差不多,唯一的區別就是之前result是一個list,而要去重的話用result是一個set,保證最后的結果為去重的結果。

以上內容為大家介紹了python培訓之list可以嵌套嗎,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT