[Python]for文のrange()を逆順にするには?

python

どうも、ちょげ(@chogetarou)です。

for文のrange()を逆順にする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

for文のrange()を逆順にする方法は、3つあります。

reversed()関数

1つ目は、reversed()関数を使う方法です。

まず、for文でループ対象で(inの後ろ)でreversed()を呼び出します。

そして、reversed()の引数にrange()を指定します。

for i in reversed(range(start, end)):
    #ループ処理

上記のfor文は、range()が逆順になります。

使用例

for i in reversed(range(1, 6)):
    print(i)

スライス

2つ目は、スライスを使う方法です。

まず、for文でrange()をループ対象にします。

そして、ループ対象のrange()を[::-1]でスライスします。

for i in range(start, end)[::-1]:
    #ループ処理

上記のfor文は、range()が逆順になります。

使用例

for i in range(1, 6)[::-1]:
    print(i)

第3引数

3つ目は、range()の第3引数を使う方法です。

まず、for文のループ対象にrange()を指定します。

range()の第1引数と第2引数を通常の逆(第1引数を大きい方、第2引数を小さい方)にします。

そして、第3引数に「-1」を指定します。

for i in range(end, start, -1):
    #ループ処理

上記のfor文は、range()が通常の逆順(値が小さくなっていく順番)になります。

使用例

for i in range(5, 0, -1):
    print(i)

まとめ

for文のrange()を逆順にする方法は、次の3つです。

  • reversed()関数を使う方法
  • スライスを使う方法
  • range()の第3引数を使う方法

コメント

タイトルとURLをコピーしました