どうも、ちょげ(@chogetarou)です。
range()を逆順にする方法を紹介します。
方法

range()を逆順にする方法は、3つあります。
reversed()関数
1つ目は、reversed()関数を使う方法です。
具体的には、range()をreversed()の引数に指定します。
reversed(range(start, end))
上記のreverse()は、range()を逆順にしたrange()を返します。
使用例
rev_range = reversed(range(1, 5))
print(list(rev_range)) #[4, 3, 2, 1]
スライス
2つ目は、スライスを使う方法です。
具体的には、range()を[::-1]でスライスします。
range(start, end)[::-1]
上記のrange()[::-1]は、range()を逆順にスライスしたrangeを返します。
使用例
rev_range = range(1, 6)[::-1]
print(list(rev_range)) #[5, 4, 3, 2, 1]
第3引数
3つ目は、range()の第3引数を使う方法です。
引数でrange()を逆順にするには、第3引数を使います。
まず、range()の第1引数と第2引数を逆にします。
そして、第3引数に「-1」を指定します。
#range(start, end)を逆順に
range(end, start, -1)
上記のrange()は、第1引数から第2引数までの値を降順(通常の逆順)で生成します。
使用例
rev_range = range(6, 1, -1)
print(list(rev_range)) #[6, 5, 4, 3, 2]
まとめ
range()を逆順にする方法は、次の3つです。
- reversed()関数を使う方法
- スライスを使う方法
- range()の第3引数を使う方法
コメント