python練習問題:ネストされたリストをループ印刷する


久しぶりにブログを書きました.練習問題を追加します.「head_first_python」~~
pythonリスト:中括弧で「[]」を開始および終了します.リスト・アイテムはカンマ「,」で区切られ、割り当てオペレータ「=」を使用して識別子が付与されます.次のようになります.
movies=["the holy",1975,"terry jones",91,["graham",["michael","john","gilliam","idle","haha"]]]
注記:1、識別子「movies」のデータ型を宣言する必要はありません.
2、リストリストは高レベルの集合であり、リスト項目のタイプは重要ではなく、文字列でも数字でもリストでもよい.
印刷リスト:
1、直接印刷:
>>>print movies[0]
>>>the holy
>>>print movies[1]
>>>1975

注記:リストのアイテムの読み込みは配列と同じで、0番目から開始します.
2、循環印刷
whileサイクルとforサイクル
count=0
while count < len(movies):
  print movies[count]
  count=count+1
>>>for i in movies:
...  print i
...
the holy
1975
terry jones
91
['graham', ['michael', 'john', 'gilliam', 'idle', 'haha']]

注記:このとき、リストにネストされたリストが、読み取り時にリスト項目として直接印刷され、私たちが印刷したい列ではなく、リスト項目として直接印刷されるという問題が発生しました.
3、入れ子印刷
  def print_list(object):
   
    for i in object:
      if isinstance(i,list):
        print_list(i)
      else:
        print i
  
   print_list(movies)
  
  
the holy
1975
terry jones
91
graham
michael
john
gilliam
idle
haha

注記:isinstanceでオブジェクトタイプを判断し、関数を再帰的にループ印刷します.
本文は“DanielQu”のブログから出て、転載して作者と連絡してください!