Python:リスト内包表記の使い方

row-column Python Tips

リスト内包表記の使い方

リスト内包表記の単純な形式は以下のとおりです。

[expression for item in iterable]

例えば以下のようにリストを作成できます。

>>> number_list = [number for number in range(1, 10)] 
>>> number_list
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> number_list = [number*2 for number in range(1, 10)]
>>> number_list
[2, 4, 6, 8, 10, 12, 14, 16, 18]

条件式を追加した場合の形式は以下のとおりです。

[expression for item in iterable if condition]

例えば以下のように奇数のリストを作成できます。

>>> number_list = [number for number in range(1, 10) if number % 2 == 1] 
>>> number_list
[1, 3, 5, 7, 9]

for節を複数使うこともできます。

>>> cells = [(row, col) for row in range(1, 4) for col in range(1, 3)] 
>>> cells
[(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]