Python-讀取嵌套列表中的字符串

問題:讀取movies = ['a','b',['c','d',['f','g','h']]]里的每個字符串

方法:利用isinstance、for和if...else讀取列表里的字符串。

具體步驟:

z =0
k = 0
q = 0
movies = ['a','b',['c','d',['f','g','h']]]
for each_item in movies:
    if isinstance(each_item,list)==False:
        print(each_item)
        z = z +1
    else:
        for p in each_item:
            if isinstance(p,list)==False:
                print(movies[z][k])
                k = k+1
            else:
                for s in p:
                    print(movies[z][k][q])
                    q=q+1

結(jié)果:
可是解決問題

存在問題:
如果嵌套級別太多,就要重復使用for和if...else,不斷增加變量。

進一步優(yōu)化:

movies = ['a','b',['c','d',['f','g','h']]]
for each_item in movies:
    if isinstance(each_item,list):
        for nested_item in each_item:
            if (nested_item, list) == False:
                print(nested_item)
            else:
                for f in nested_item:
                    print(f)
    else:
        print(each_item)

或者

movies = ['a','b',['c','d',['f','g','h']]]
for each_item in movies:
    if isinstance(each_item,list):
        for nested_item in each_item:
            if isinstance(nested_item, list) :
                for deeper_item in nested_item:
                    print(deeper_item)
            else:
                 print(nested_item)
    else:
        print(each_item)

總結(jié):代碼更少,清晰,但還存在一個問題:如果有更多的嵌套,該如何解決。
比如說movies = ['a','b',['c','d',['f','g','h',['o']]]]

使用函數(shù),繼續(xù)優(yōu)化形成最終大法:

movies = ['a','b',['c','d',['f','g','h',['o']]]]
def item (name):
    for each_item in name:
        if isinstance(each_item,list):
            item(each_item)
        else:
            print(each_item)
print(item(movies))

這樣,再也不怕嵌套的級別了。

問題解決方法參考了《Head First Python(中文版)》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 個人學習批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,990評論 0 11
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,356評論 0 17
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 昨天下午答辯,覺得自己的口頭表達能力下降了,演講的時候心理膽怯、緊張,在高中的時候做得也比現(xiàn)在好。 不能再這樣了。...
    男青年閱讀 728評論 0 3
  • 下雨了。 夏至到來,炎熱的天氣常伴隨著夏日的雨,熱烈而磅礴,不似春雨的婉約,也不似夏雨的綿長。眉間,發(fā)梢卷起的...
    豬小三閱讀 832評論 0 1

友情鏈接更多精彩內(nèi)容