Pythonのrange:整数の範囲や等差数列をリストにする
2023.02.18
Python では連続した整数のリストを range という関数で自由に作ることができます。
a = range(5)
b = range(3, 7)
for k in a:
print(k)
# 0
# 1
# 2
# 3
# 4
for k in b:
print(k)
# 3
# 4
# 5
# 6
range(5) は 0 から 4 までのリストで、5 個の要素があります。range の引数が 1 個しかないとき、range(n) は 0 から n-1 までの連続した整数のリストになります。
range(3, 7) は 3 から 6 までのリストです。第一引数は最小値、第二引数は最大値から 1 引いた数をそれぞれ表します。7 は要素数が 7 個という意味でなく、7-1=6 を最大値にするという意味です。
Python の range を理解するコツ:
- range(m, n) は m 以上 n-1 以下の整数
- range(n) は range(0, n) と同じ
Python の range で等差数列をつくる
range に 3 つの引数をもたせるとき、第一引数は最小値、第二引数は最大値から 1 引いた数、第三引数は公差を表します。
a = range(3, 19, 2)
for k in a:
print(k)
# 3
# 5
# 7
# 9
# 11
# 13
# 15
# 17
19 が出力されていないことに注目してください。この等差数列は 18 を最大値とするので、17 で止まっています。