リスト表記
どれもリストを生成する方法。
集合を1つ1つ処理するだけなら for 文が適切。
結果としてリストが欲しいときは便利。
すべての値を加工したものをリストで返す
result = [func(x) for x in list]
条件にあった値を部分リストとして取得する
result = [x for x in list if pred]
以下、サンプル。
result = [x for x in [0, 1, 2, 3] if x % 2 == 0] print result # 結果 [0, 2]
多重ループ
list = [(x, y) for x in range(5) for y in range(3)] print list # 結果 (見やすく途中を改行してる) [ (0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), (4, 2) ]