Python学習14:アクセスリスト要素、遍歴リスト

3176 ワード

一、アクセスリスト要素
pythonでは、コンテンツを出力するにはprint()関数を使用します.たとえば、次のリストを印刷します.
untitle = ['python',28,"   ,   ",["  ","  "]]
print(untitle)

結果:
['python', 28, '   ,   ', ['  ', '  ']]

リストを出力するときは、左右の括弧が含まれていることがわかります.すべての要素を出力したくない場合は、リストのインデックスから指定した要素を取得できます.たとえば、リストuntitleのインデックスの2番目の要素を取得するには、次のコードを使用します.
untitle = ['python',28,"   ,   ",["  ","  "]]
print(untitle[2])

結果:

以上の結果から,単一リスト要素を出力する際には中括弧は含まれず,文字列であれば左右引用符も含まれないことが分かる.
毎日ペーストを出力し、ファイルに日時クラスをインポートし、7つの励まし文字を毎日ペーストとして保存するリストを定義し、現在の日付を取得し、最後に現在の日付をリストのインデックスとして、要素の内容を出力します.
import datetime
mot = ["1",
       "2",
       "3",
       "4",
       "5",
       "6",
       "7"]
day = datetime.datetime.now().weekday()    #      
print(mot[day])                            #      


結果:
3 #   2019/8/14

上のコードでは、day=datetime.datetime.now().weekday()メソッドは現在の日付を取得するために使用され、weekday()メソッドは時間オブジェクトから曜日を取得し、その値は0~6であり、0は月曜日、1は火曜日を表し、6は日曜日を表す.
二、遍歴リスト
リスト内のすべての要素を巡回するのは一般的な操作で、巡回中にクエリー、処理などの機能を完了することができます.
1.forループによる実装
forループリストを直接使用すると、要素の値しか出力できません.構文フォーマットは次のとおりです.
for item in listname:
    #  item

ここで、itemは取得した要素の値を保存するために使用され、要素の内容を出力する場合は、その変数を直接出力すればよい.listnameはリスト名です.
たとえば、古詩を保存するリストを定義し、forループでリストを巡り、次のように各詩句を出力します.
print(" ","   ")
verse = ["     ","     ","     ","     "]
for item in verse:
    print(item)

結果:
     
     
     
     
     

2.forループとenumerate()関数を使用して実現
forループとenumerate()関数を使用すると、インデックス値と要素の内容を同時に出力できます.構文フォーマットは次のとおりです.
for index,item in enumerate(listname):
    #  index item

パラメータの説明:
index:要素インデックスを保存します.
item:取得した要素値を保存するために使用され、要素の内容を出力する場合は、その変数を直接出力すればよい.
listname:リスト名.
たとえば、forループとenumerate()関数を使用してリストを巡り、インデックスと詩句を出力します.コードは次のとおりです.
print(" "*2,"   ")
verse = ["     ","     ","     ","     "]
for index,item in enumerate(verse):
    print(index,item)

結果:
      
0      
1      
2      
3      

2つの2つの行がそれぞれの詩句を出力することを実現して、偶数かどうかを判断するならば、偶数は改行して出力しないで、コードは以下の通りです:
print("           ")
verse = ["     ","     ","     ","     ","     ","     ",
         "     ","     ","     ","     "]
for index,item in enumerate(verse):
    if index%2 == 0:                       #        ,       
        print(item+",", end='')
    else:
        print(item+"。")                   #     


結果:
          
     ,     。
     ,     。
     ,     。
     ,     。
     ,     。

上記のコードでは、print()関数で「,end=」を使用して、改行しない出力を表します.すなわち、次のprint()関数の出力内容は、この内容と同じ行で出力されます.