🔖
Pythonリスト内包表記の説明
Pythonリスト内包表記の説明
リスト内包表記とは?
リスト内包表記(List Comprehension)は、リストを簡潔に生成するためのPythonの構文です。通常のループや関数を使ってリストを作成する代わりに、1行で表現することができます。
基本構文
[式 for 要素 in イテラブル]
例: 1~5のリストを生成
numbers = [x for x in range(1, 6)]
print(numbers) # [1, 2, 3, 4, 5]
条件付きリスト内包表記
リスト内包表記に条件を追加して、特定の条件を満たす要素だけを含むリストを作成できます。
構文
[式 for 要素 in イテラブル if 条件]
例: 偶数のみを含むリスト
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers) # [2, 4, 6, 8, 10]
ネストしたリスト内包表記
リスト内包表記は、ネストしたループでも使えます。
例: 2次元リストの生成
matrix = [[x * y for x in range(1, 4)] for y in range(1, 4)]
print(matrix) # [[1, 2, 3], [2, 4, 6], [3, 6, 9]]
リスト内包表記 vs 通常のループ
リスト内包表記を使うことで、コードを簡潔に書けますが、可読性が損なわれる場合があります。以下は、通常のループとリスト内包表記の比較です。
通常のループ
squares = []
for x in range(1, 6):
squares.append(x ** 2)
print(squares) # [1, 4, 9, 16
リスト内包表記
squares = [x ** 2 for x in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
Discussion