squares = [x ** 2 for x in range(1, 6)]print(squares) # 出力: [1, 4, 9, 16, 25]をわかりやすく解説

program

このコードは、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つずつリストに追加します。
    • 処理の流れ:
      1. x = 11 ** 2 = 1
      2. x = 22 ** 2 = 4
      3. x = 33 ** 2 = 9
      4. x = 44 ** 2 = 16
      5. x = 55 ** 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行でまとめたものです!

コメント

タイトルとURLをコピーしました
//投稿内コードにコピー表示 //コピー表示ここまで