Python リスト内包表記を使用してfor文を1行で記述する
pythonで、リスト内包表記を使用してfor文を1行で記述するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。
環境
- OS windows10 pro 64bit
- python 3.8.5
リスト内包表記使い方
基本的に、以下の形で使用することができます。
[iの処理 for i in リスト]
例えば、以下のリスト内の値を全て2倍するコードは、
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行で記述することが可能です。
lst = [1,2,3,4,5,6]
newlst = [i * 2 for i in lst]
# [2, 4, 6, 8, 10, 12]
条件式
次のような形で、条件式を追加することもできます。
[iの処理 for i in リスト if 判定式]
以下は、リスト内の偶数のものだけ、2倍するサンプルコードとなります。
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
コメントを書く