Pythonのrange()
関数は、指定した範囲内の数値を生成するために利用されます。
しかし、そのまま利用すると昇順のリストが生成されます。
今回は、range()を逆順に使用する方法について解説します。
目次
基本的なrange()の使用法
まずは基本的なrange()
の使い方を復習しましょう。
通常、range(start, stop, step)
と使用されます。
for i in range(1, 10, 1):
print(i)
このコードは、1から始まり9まで(10は含まれない)、1ずつ増加する数列を生成します。
出力結果は以下の通りです。
1
2
3
4
5
6
7
8
9
逆順のrange()を使う方法
range()の引数を工夫することで、逆順の数列を生成できます。
例えば、「10から1までの数列」を作成したい場合、step
引数をマイナスの値に設定します。
for i in range(10, 0, -1):
print(i)
この場合の出力結果は以下の通りです。
10
9
8
7
6
5
4
3
2
1
応用例:リストの逆順ソート
リストデータの逆順ソートにもrange()
は有用です。
次の例では、リストを逆順に出力します。
my_list = [1, 2, 3, 4, 5]
for i in range(len(my_list)-1, -1, -1):
print(my_list[i])
この場合の出力結果は以下の通りです。
5
4
3
2
1
- ポイント:
range()
の第2引数(stop)は含まれないことに注意してください。
逆順の数列を生成する場合、startがstopより大きく、stepが負の値である必要があります。
まとめ
Pythonのrange()
関数を逆順に使用する際は、引数step
をマイナスに設定する方法を利用します。
シンプルですが強力な方法で、コードの可読性を高めることができます。ぜひ試してみてください。
他にもPythonに関する記事を執筆していますので、興味があればご覧ください。
以上、Pythonでrangeを逆順に使用する方法についてでした。
最後までお読みいただき、ありがとうございました。