【Python】for文を使ってリスト(List)の要素をまとめて取り出す!
(*このページは2021年1月25日に更新されました。)
for文の繰り返し処理をリストで行うことでリスト(List)の中にある要素をまとめて取り出すことができます。
また、for文の繰り返し処理中にcontinue句を使用すると、条件にあう場合だけスキップさせることができ、break句を使用すると処理を抜けることができます。
また、for文を2回使用すると2次元リストの要素を取り出すことができ、for文を3回使用すると3次元リストの要素を取り出すことができます。
つまり、for文を次元分使用することで多次元のリストの要素を取り出すことができます。
今回はPythonのfor文を使ってリスト(List)の要素をまとめて取り出す方法について以下の内容で解説していきます。
⚫︎ リスト(List)の要素を取得する場合
⚫︎ リスト(List)の要素の取得処理をスキップする場合
⚫︎ リスト(List)の要素の取得処理を抜ける場合
⚫︎ 2次元リスト(List)の要素を取得する場合
⚫︎ 3次元リスト(List)の要素を取得する場合
⚫︎ インデックスとリスト(List)の要素を取得する方法
⚫︎ 複数のリスト(List)の要素を同時に取得する方法
目次
for文とは
for文とはある処理を繰り返し行いたい場合に用いる文法になります。
同じ文を何度も書く代わりにfor文の中に処理を書くことでその処理を決められた回数繰り返すことができます。
for文について詳しく知りたい場合はこちらをご参考ください。
リスト(list)とは
リスト(list)とは、任意の型(整数、浮動小数点数、文字列など)の複数のデータを格納できる型になります。
リストの要素は変更可能であり、他のプログラミング言語における「配列」的な使い方をします。
リスト(List)について詳しく知りたい場合はこちらをご参考ください。
for文を使ってリスト(List)の要素を取得するサンプルコード
for文を使ってリスト(List)の要素を取得するサンプルコードを紹介します。
リスト(List)の要素を取得する場合
リストの要素を取得する場合はリストにfor文をそのまま使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
print("・xが取得する値") animal = ["キリン", "ゴリラ", "ライオン"] for x in animal: print(x) print("・yが取得する値") suuji = [1, 2, 3, 4, 5] for y in suuji : print(y) print("・zが取得する値") mixed = [1, 2, 3, "キリン", "ライオン"] for z in mixed: print(z) |
出力結果
・xが取得する値
キリン
ゴリラ
ライオン
・yが取得する値
1
2
3
4
5
・zが取得する値
1
2
3
キリン
ライオン
for文の繰り返し処理でリストの要素を取得することができます
リスト(List)の要素の取得処理をスキップする場合
リストの要素の取得処理をスキップする場合はcontinue句を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
print("・xが取得する値") animal = ["キリン", "ゴリラ", "ライオン"] for x in animal: if x == animal[1]: continue print(x) print("・yが取得する値") suuji = [1, 2, 3, 4, 5] for y in suuji : if y == suuji[3]: continue print(y) print("・zが取得する値") mixed = [1, 2, 3, "キリン", "ライオン"] for z in mixed: if z == "キリン": continue print(z) |
出力結果
・xが取得する値
キリン
ライオン
・yが取得する値
1
2
3
5
・zが取得する値
1
2
3
ライオン
continue句によって>リストの要素の取得処理をスキップしています。
その為、条件に当てはまる要素は表示されていません。
リスト(List)の要素の取得処理を抜ける場合
リストの要素の取得処理を抜ける場合はbreak句を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
print("・xが取得する値") animal = ["キリン", "ゴリラ", "ライオン"] for x in animal : if x == animal[1]: break print(x) print("・yが取得する値") suuji = [1, 2, 3, 4, 5] for y in suuji : if y == suuji[3]: break print(y) print("・zが取得する値") mixed = [1, 2, 3, "キリン", "ライオン"] for z in mixed : if z == "キリン": break print(z) |
出力結果
・xが取得する値
キリン
・yが取得する値
1
2
3
・zが取得する値
1
2
3
brewak句によってリストの要素の取得処理を抜けています。
その為、条件に当てはまる要素以降の要素は表示されていません。
for文を使って多次元リスト(List)の要素を取得するサンプルコード
for文を使って多次元リスト(List)の要素を取得するサンプルコードを紹介します。
2次元リスト(List)の要素を取得する場合
2次元リスト(List)の要素を取得する場合はfor文を2回使用します。
例
1 2 3 4 5 6 7 8 9 |
print('・2次元リストの要素を取得する') for i in list1: print(i) print('・2次元リストの1次元リストの要素を取得する') for i in list1: for j in i: print(j) |
出力結果
・2次元リストの要素を取得する
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
[10, 11, 12]
・2次元リストの1次元リストの要素を取得する
1
2
3
4
5
6
7
8
9
10
11
12
list1は2次元リストとなっており、forを二重で回すことで2次元リストの中にある1次元リストの要素を取得することができます。
3次元リスト(List)の要素を取得する場合
3次元リスト(List)の要素を取得する場合はfor文を3回使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
fruits = [ [["リンゴ", "オレンジ", "ぶどう"], ["メロン", "さくらんぼ", "レモン"]], [["パイナップル", "マンゴー", "イチゴ"], ["マスカット", "グレープフルーツ", "シークワーサー"]] ] print('・3次元リストの要素を取得する') for i in fruits: print(i) print('・3次元リストの2次元リストの要素を取得する') for i in fruits: for j in i: print(j) print('・3次元リストの1次元リストの要素を取得する') for i in fruits: for j in i: for k in j: print(k) |
出力結果
・3次元リストの要素を取得する
[[‘リンゴ’, ‘オレンジ’, ‘ぶどう’], [‘メロン’, ‘さくらんぼ’, ‘レモン’]]
[[‘パイナップル’, ‘マンゴー’, ‘イチゴ’], [‘マスカット’, ‘グレープフルーツ’, ‘シークワーサー’]]
・3次元リストの2次元リストの要素を取得する
[‘リンゴ’, ‘オレンジ’, ‘ぶどう’]
[‘メロン’, ‘さくらんぼ’, ‘レモン’]
[‘パイナップル’, ‘マンゴー’, ‘イチゴ’]
[‘マスカット’, ‘グレープフルーツ’, ‘シークワーサー’]
・3次元リストの1次元リストの要素を取得する
リンゴ
オレンジ
ぶどう
メロン
さくらんぼ
レモン
パイナップル
マンゴー
イチゴ
マスカット
グレープフルーツ
シークワーサー
fruitsは3次元リストとなっており、forを三重で回すことで3次元リストの要素を取得することができます。
インデックスとリスト(List)の要素を取得する方法
インデックスとリストの要素を取得するにはenumerate()関数を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
print("・xが取得する値") animal = ["キリン", "ゴリラ", "ライオン"] for x, str in enumerate(animal): print(x, str) print("・yが取得する値") suuji = [1, 2, 3, 4, 5] for y, str in enumerate(suuji): print(y, str) print("・zが取得する値") mixed = [1, 2, 3, "キリン", "ライオン"] for z, str in enumerate(mixed): print(z, str) |
出力結果
・xが取得する値
0 キリン
1 ゴリラ
2 ライオン
・yが取得する値
0 1
1 2
2 3
3 4
4 5
・zが取得する値
0 1
1 2
2 3
3 キリン
4 ライオン
enumerate()関数によってインデックスとリストの要素を取得しています。
for文とenumerate()関数でインデックスとリストの要素を取得する方法について詳しく知りたい場合はこちらをご参考ください。
複数のリスト(List)の要素を同時に取得する方法
複数のリストの要素を同時に取得するにはzip()関数を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
animal = ["キリン", "ゴリラ", "ライオン"] animal2 = ["パンダ", "コアラ", "ペンギン"] print("・xが取得する値") for animal, animal2 in zip(animal, animal2): print(animal, animal2) print("・yが取得する値") suuji = [1, 2, 3, 4, 5] suuji2 = [6, 7, 8, 9, 10] for suuji, suuji2 in zip(suuji, suuji2): print(suuji, suuji2) print("・zが取得する値") mixed = [1, 2, 3, "キリン", "ライオン"] mixed2 = [1, 4, "ペンギン", "しまうま", 9] for mixed, mixed2 in zip(mixed, mixed2): print(mixed, mixed2) |
出力結果
・xが取得する値
キリン パンダ
ゴリラ コアラ
ライオン ペンギン
・yが取得する値
1 6
2 7
3 8
4 9
5 10
・zが取得する値
1 1
2 4
3 ペンギン
キリン しまうま
ライオン 9
zip()関数によって複数のリストの要素を同時に取得しています。
for文とzip()関数で複数のリストの要素を同時に取得する方法について詳しく知りたい場合はこちらをご参考ください。
今回のポイント
for文でリスト(List)の要素を取得
⚫︎ リストの要素を取得するにはfor文をそのまま使用する
⚫︎ リスト(List)の要素の取得処理をスキップするにはcontinue句を使用する
⚫︎ リスト(List)の要素の取得処理を抜けるにはbreak句を使用する
⚫︎ 2次元リスト(List)の要素を取得するにはfor文を2回使用する
⚫︎ 3次元リスト(List)の要素を取得するにはfor文3回使用する
⚫︎ インデックスとリストの要素を取得するにはenumerate()関数を使用する
⚫︎ 複数のリストの要素を同時に取得するにはzip()関数を使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。