2015年12月3日木曜日

Python リスト内包表記の入れ子など

 2つのリストやタプルなどがあり、それらを組み合わせて新しいリストを作成するときにリスト内包表記を使用することができる。これによりコードを短くできる。

X = range(6)
Y = range(4)

[(x, y) for x in X for y in Y]
[(0, 0),
 (0, 1),
 (0, 2),
 (0, 3),
 (1, 0),
 (1, 1),
 (1, 2),
 (1, 3),
 (2, 0),
 (2, 1),
 (2, 2),
 (2, 3),
 (3, 0),
 (3, 1),
 (3, 2),
 (3, 3),
 (4, 0),
 (4, 1),
 (4, 2),
 (4, 3),
 (5, 0),
 (5, 1),
 (5, 2),
 (5, 3)]

 [[(x, y) for x in X] for y in Y]
[[(0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (5, 0)],
 [(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1)],
 [(0, 2), (1, 2), (2, 2), (3, 2), (4, 2), (5, 2)],
 [(0, 3), (1, 3), (2, 3), (3, 3), (4, 3), (5, 3)]]

{x : y for x in X for y in Y}

{0: 3, 1: 3, 2: 3, 3: 3, 4: 3, 5: 3}

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

<< ホーム