
Table of Contents(目次)
range()関数を使いこなす
このレクチャーでは、for文と一緒に使われるrange()関数について深掘りします。
range()関数の基本
基本的に、range()は引数に整数を渡すと0から順番に数値を返す関数ですが、引数を複数渡すと、listのスライスのように生成される数値の範囲を制御できます。
引数と出力される整数
range(n):0から、nの1つ手前までの整数を返しますnをマイナスの値や0で指定すると数値を返さないため、for文の繰り返しは一度も実行されずに終了しますnを1以上にすると、n回繰り返されることになりますrange(3):0 → 1 → 2
range(n, m):nから、mの1つ手前までの整数を返しますn < mの関係になるように引数を渡しますrange(1, 5):1 → 2 → 3 → 4
n > mの場合、何も返しませんrange(5, 1): # 何も返さない
n < mであれば、マイナスの値も指定できますrange(-5, 0):-5 → -4 → -3 → -2 → -1
range(n, m, step):step数を入力すると、range(n, m)の範囲内でstep数ごとに要素を抽出します- listのスライスと異なり、
nおよびmの値は省略できません-
range(1, 20, 5):1 → 6 → 11 → 16
-
stepにマイナスの値を指定することも可能です- マイナスの値を指定した場合、逆順に要素が抽出されます。この時、
n,mの値は、n > mの関係にないといけません。 range(5, 1, -1):5 → 4 → 3 → 2
- マイナスの値を指定した場合、逆順に要素が抽出されます。この時、
- listのスライスと異なり、
1. range(n) の基本
range(n) は 0 から n-1 までの整数を順番に生成します。
for i in range(5):
print(i)
出力例:
0
1
2
3
4
2. range(n, m) の使い方
range(n, m) は n から m-1 までの整数を順に生成します。listのスライスと異なり、nを省略することはできません。
for i in range(2, 6):
print(i)
出力例:
2
3
4
5
3. range(n, m, step) でステップ指定
range(n, m, step) は n から m-1 までの整数を、stepごとに生成します。stepは正の値でも負の値でも指定可能です。
for i in range(1, 10, 2):
print(i)
出力例:
1
3
5
7
9
stepに負の値を指定すると、逆順に数値を生成できます。
for i in range(5, 0, -1):
print(i)
出力例:
5
4
3
2
1






