Pythonでは、ループ処理を一行で書く方法がいくつかあります。その中でも、リスト内包表記とitertools.product
を使った方法が特に便利です。
リスト内包表記
リスト内包表記を使うと、forループとif文の処理を一行で書くことができます。以下に例を示します。
before_list = [1,2,3,4,5,6,7,8,9,10] # 1から10のリスト
after_list = [i for i in before_list if i % 2 == 0] # 2で割り切れる(偶数)ときにリストへ追加する
このコードは、before_list
の各要素i
に対して、i
が偶数である場合にi
をafter_list
に追加します。
itertools.productを使った方法
itertools.product
を使うと、多重ループを一行で書くことができます。以下に例を示します。
from itertools import product
# A, B, Cはリスト
for i, j, k in product(A, B, C):
print(i, j, k)
このコードは、リストA
、B
、C
のすべての組み合わせに対して、(i, j, k)
を出力します。
これらの方法を使うと、Pythonのコードをより簡潔に、読みやすく書くことができます。ぜひ試してみてください。.