このコードは、Pythonのリスト内包表記(List Comprehension)を使って、1から5までの数字を順番に二乗し、その結果をリストとして生成する例です。
各部分の説明
1. range(1, 6)
- 意味:
range(1, 6)は、1から5までの連続した整数を生成します(6は含まれません)。- 生成される数値:
1, 2, 3, 4, 5
- 生成される数値:
2. x ** 2
- 意味:
x ** 2は、xの2乗(x × x)を計算する式です。- 例えば、
x = 2のとき、x ** 2 = 4
- 例えば、
3. for x in range(1, 6)
- 意味:リスト内包表記では、この部分が「繰り返し処理」を表します。
range(1, 6)の中のすべての値を順番にxに代入し、リストを構築します。
4. [x ** 2 for x in range(1, 6)]
- 意味:リスト内包表記の形式です。
- 「
for x in range(1, 6)」の範囲で繰り返し計算した結果(x ** 2)を1つずつリストに追加します。 - 処理の流れ:
x = 1→1 ** 2 = 1x = 2→2 ** 2 = 4x = 3→3 ** 2 = 9x = 4→4 ** 2 = 16x = 5→5 ** 2 = 25
- 「
出力結果
pythonコードをコピーするprint(squares)
[1, 4, 9, 16, 25] が出力されます。
リスト内包表記のメリット
- 簡潔:forループを使わずに1行でリストを生成できます。
- 効率的:リストを直接生成するため、コードがわかりやすく、処理が高速になる場合もあります。
同じ処理をforループで書くと:
リスト内包表記を使わずに書くと、以下のようになります:
squares = []
for x in range(1, 6):
squares.append(x ** 2)
print(squares) # 出力: [1, 4, 9, 16, 25]
リスト内包表記はこれを1行でまとめたものです!


コメント