ネストしたリスト内包表記の読み順

一言まとめ

ネストした内包表記の for は通常の for 文と同じく外側から内側の順に並べる。

作成 · 更新 · #python#iteration
目次 2 sections
  1. 01 関連
  2. 02 更新履歴

ネストした内包表記の for は、通常の for 文と同じ順に並べます。外側から内側へ、それだけです。

# flatten
flat = [x for row in matrix for x in row]
# 対応する for 文
flat = []
for row in matrix:
for x in row:
flat.append(x)

内側にリストを作るなら、内包表記ごとネストします。

table = [[i * j for j in range(1, 10)] for i in range(1, 10)]

if は末尾に置くとフィルタになります。

evens = [x for x in nums if x % 2 == 0]

値を出し分けたいときは三項演算子なので、if が式側(for より前)に来ます。位置が違うと意味が変わります。

labels = ["even" if x % 2 == 0 else "odd" for x in nums]

関連#

更新履歴#

  • 2026-06-20: 初版(memos から移行)
  • 2026-10-09: 関連に enumerate と zip を追加
  • 2026-10-09: タイトルを概念名に揃え、tags を補う

同じトピック — Python