Python リスト内包表記を使用してfor文を1行で記述する

pythonで、リスト内包表記を使用してfor文を1行で記述するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。
環境
- OS windows10 pro 64bit
- python 3.8.5
リスト内包表記使い方
基本的に、以下の形で使用することができます。
1 |
[iの処理 for i in リスト] |
例えば、以下のリスト内の値を全て2倍するコードは、
1 2 3 4 5 6 7 8 |
lst = [1,2,3,4,5,6] newlst = [] for i in lst: newlst.append(i * 2) print(newlst) # [2, 4, 6, 8, 10, 12] |
リスト内包表記を使うと、1行で記述することが可能です。
1 2 3 4 |
lst = [1,2,3,4,5,6] newlst = [i * 2 for i in lst] # [2, 4, 6, 8, 10, 12] |
条件式
次のような形で、条件式を追加することもできます。
1 |
[iの処理 for i in リスト if 判定式] |
以下は、リスト内の偶数のものだけ、2倍するサンプルコードとなります。
1 2 3 4 5 6 |
lst = [1,2,3,4,5,6] newlst = [i * 2 for i in lst if i % 2 == 0] print(newlst) # [4, 8, 12] |
-
前の記事
コマンドプロンプトでディスクのボリュームを一覧表示する 2021.03.12
-
次の記事
windows PCのシリアル番号(製造番号)を取得する 2021.03.12
コメントを書く