【Python】for文(for in)とリスト(List)を組み合わせてリスト内包表記でリストを作成!

for文(for in)とリスト(List)を組み合わせることでリスト内包表記としてリストを作成することができます。

リスト内包表記とはすでに定義されているリストなどを使用し、新しいリストなどを短く、簡潔な方法で作成することができます。

今回は、リスト内包表記のリスト作成について解説します。

for文(for in)とは

for文(for in)とは繰り返し処理であり、特定の条件が満たされるまで同じ数のコードを何度も実行する事を言います。

for文の書き方

for文の構文は下記になります

for文について詳しく知りたい場合は【Python】for文(for in)で繰り返し処理を行う!書き方や使い方を徹底解説!をご参考ください。

リストとは

整数、浮動小数点数、文字列などのデータを格納することができます。
要素には順序があり、インデックスを用いて要素を指定できます。

リストの書き方

リストの構文は下記になります

リストについて知りたい場合は【Python】リスト(List)の使い方について分かりやすく解説!サンプルコード付き!をご参考ください。

リスト内包表記とは

先ほども言いましたが、リスト内包表記とはすでに定義されているリストなどを使用し、新しいリストなどを短く、簡潔な方法で作成することができます。
その為、新しいリストを生成するときによく使われます。

リスト内包表記にはif条件が含まれる場合と含まれない場合があります。
また、リスト内包表記に複数のfor(ネストされたリスト内包表記)を含めることもできます。

リスト内包表記の書き方

リスト内包表記の構文は下記になります

リストなどの要素を任意の変数名で取り出して、条件式で確認します。
そして、その結果を元に新たなリストが返されるようになります。

リストの内包表記について知りたい場合は【Python】これで完璧!リスト内包表記の使い方を解説!サンプルコード付きをご参考ください。

for文とリスト(List)を組み合わせたリスト内包表記のサンプルコード

if文を使った場合

if文を使うことで、条件分岐のリスト内包表記を作成することができます。

ここで、ifを使ったリスト内包表記のサンプルコードをみてみましょう。

ifの例

出力結果

[1, 3, 5, 7, 9, 11, 13]
[‘ライオン’]

numのリストの要素で2で割り切れない場合に要素としてその数値がリストに作成されます。
また、animalのリストの要素がライオンである場合に、要素としてリ「ライオン」、がリストに作成されます。

if-elseを使ったリスト内包表記のサンプルコードをみてみましょう。

if-elseの例

出力結果

[‘奇数じゃない’, 1, ‘奇数じゃない’, 3, ‘奇数じゃない’, 5, ‘奇数じゃない’, 7, ‘奇数じゃない’, 9, ‘奇数じゃない’, 11, ‘奇数じゃない’, 13, ‘奇数じゃない’]
[‘他の動物’, ‘ライオン’, ‘他の動物’, ‘他の動物’]

numのリストの要素で2で割り切れない場合は数値を、それ以外の場合は「奇数じゃない」と要素としてリストに作成されます。
また、animalのリストの要素がライオンであるなら「ライオン」、それ以外は「他の動物」と要素としてリストに作成されます。

集合演算を使った場合

リスト内包表記の[]を{}に変更することで、集合型のリストが作成されます。

出力結果

{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28}
{‘ぞう’, ‘キリン’, ‘ゴリラ’, ‘ライオン’}

それぞれ、集合型のリストが作成されました。

辞書型を使った場合

リスト内包表記の[]を{}に変更することで、辞書型のリストが作成できます。

出力結果

{‘ゴリラ’: 3, ‘ライオン’: 4, ‘ぞう’: 2, ‘キリン’: 3, ‘キングコング’: 6}

それぞれ、辞書型のリストが作成されました。

range()関数を使った場合

range()関数を使用することで、インデックスのリストを作成することができます。

出力結果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[0, 2, 6, 6, 12, 10, 18, 14, 24, 18, 30, 22, 36, 26, 42]

それぞれ、インデックスのリストが作成されました。

zip()関数を使った場合

zip()関数を使うことで、複数のリストを一つにまとめたリストが作成されます。

出力結果

[(‘ゴリラ’, ‘馬’), (‘ライオン’, ‘ペンギン’), (‘ぞう’, ‘猿’)]
[(1, 5), (2, 7), (4, 8)]

それぞれ、複数のリストが1つのリストになって作成されました。

enumerate()関数を使った場合

enumerate()関数を使用することで、インデックス付きのリストmが作成されます。

出力結果

[(0, ‘ゴリラ’), (1, ‘ライオン’), (2, ‘ぞう’)]
[(0, 1), (1, 2), (2, 4)]

それぞれ、インデックス付きのリストが作成されました。

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報