目次
リスト型
リスト型とは
以前、PHPの記事で「配列」を扱いましたが、Pythonのリスト型は配列のようなものです。リスト型にはどんなオブジェクトも組み合わせて入れることができます。
次にリストの例を示します。オブジェクトを[]で囲むとリストになります。オブジェクトが2つ以上ある場合には、カンマで区切ります。
[]
[1]
[“dog”, “fox”, “mouse”]
1つ目が何も入っていない空のリスト、2つ目が数値が1つ入ったリスト、3つ目が文字列が3つ入ったリストになります。
リスト型データの参照
リスト型に入ったそれぞれのデータを参照するには、リストのインデックスを指定します。インデックスは0から始まり、1ずつ増えていきます。次に示すサンプルコードでは、まずanimalsというリストを作成しています。コードの2行目以降では、リストのインデックスを指定して、各要素の内容を表示しています。
6行目のようにインデックスにマイナスの値を指定することもできます。こうすることで、リストの後ろから要素を取得できます。サンプルコードに示したように、[-1]を指定すると、リストの最後の要素を取得できます。
実行結果から意図した通りにリストの要素を取得できていることがわかります。
Pythonコード
animals = [“dog”, “fox”, “mouse”, “rabbit”]
print(animals[0])
print(animals[1])
print(animals[2])
print(animals[3])
print(animals[-1])
実行結果

次のコードに示すように、インデックスの範囲を指定して、リストの一部を取り出すこともできます。1行目の例は、インデックスが1〜2の要素をリストとして取り出しています。
2〜4行目のように、インデックスの範囲を省略して記述することもできます。2行目のように指定した場合には、リストの最初からインデックス1までの要素を取り出します。3行目のように指定した場合には、インデックス1からリストの最後の要素を取り出します。4行目のように指定した場合には、リストの最初から最後の要素までを取り出します。
実行結果から意図した通りにリストの一部を取り出せていることがわかります。
Pythonコード
print(animals[1:3])
print(animals[:2])
print(animals[1:])
print(animals[:])
実行結果

その他リストの操作
ここでは、リストの操作をするのに便利なメソッドをいくつか紹介します。
リストに要素を追加
次のサンプルコードに示すように、appendメソッドを使うことで、リストに要素を追加することができます。この例ではリストanimalsの最後に”cat”を追加しています。実行結果からリストの最後に要素を追加できていることがわかります。
Pythonコード
animals.append(“cat”)
print(animals)
実行結果

リストの要素数をカウント
リストの要素数を確認したい時には、len関数を使って次のように書きます。この例ではlen関数でリストanimalsの要素数を取得して、変数lengthに格納しています。実行結果から、要素数を正しく取得できていることがわかります。
Pythonコード
length = len(animals)
print(length)
実行結果

リストの要素を検索
リスト内の要素を検索するには、in演算子を使って次のように書きます。検索した結果、要素が見つかればTrue、見つからなければFalseを返します。この例では、リストanimalsの要素を検索して、”mouse”と”prairie dog”が存在しているか確認しています。実行結果から検索が正しく行われていることがわかります。
Pythonコード
print(“mouse” in animals)
print(“prairie dog” in animals)
実行結果

繰り返し処理
繰り返し処理とは
繰り返し処理とは、決まった回数や条件を満たしている間処理を繰り返すというものです。繰り返し処理は、「for文」を使って次のように書きます。繰り返し処理の内容は、条件分岐の記事で紹介したのと同じように、インデントを下げます。
for 繰り返し処理内での変数名 in リストの変数名
繰り返し処理の内容
for文を使ったサンプルコード
for文を使ったサンプルコードと実行結果を示します。この例では、変数animalにリストanimalsの要素をひとつ格納して、printで内容を表示するという処理が繰り返し行われます。結果として、リストanimalsの要素全てを表示するということになります。for文を使えば、このように、同じような繰り返し処理を簡潔に書くことができます。
実行結果からリストanimalsの内容が正しく表示されていることがわかります。
Pythonコード
for animal in animals:
print(animal)
実行結果

もう少しプログラムらしく
先ほどのfor文のサンプルコードでは、リストの内容を表示するだけでした。ここでは、以前の記事で扱ったif文と組み合わせて、もう少し複雑なコードを書いてみます。リストanimalsをインデックスが偶数のものと奇数のものに分けて、それぞれ別のリストに格納してみます。
次にサンプルコードと実行結果を示します。まずインデックスが偶数のものを格納するリストlist_evenと、奇数のものを格納するリストlist_oddを定義しています。for文ではenumerateという関数を使っていますが、この関数を使うことでリストのインデックスと要素を取得しています。具体的には、変数iにリストのインデックス、変数animalに要素を格納しています。if文ではインデックスを2で割った余りを計算して、偶数か奇数かを判定しています。奇数の場合には要素をリストlist_oddに追加、偶数の場合にはリストlist_evenに追加していきます。for文を抜けた後、最後に2つのリストの内容をprint関数で表示しています。実行結果から想定した通りの結果が得られていることがわかります。
Pythonコード
list_odd = []
list_even = []
for i, animal in enumerate(animals):
if i % 2 == 1:
list_odd.append(animal)
else:
list_even.append(animal)
print(list_odd)
print(list_even)
実行結果

まとめ
今回はPythonの「繰り返し処理」について紹介しました!次回はPythonの辞書について扱う予定です!!
コメントを残す