Pythonでは、range()
関数を使用して数値のリストを生成することができます。この関数は通常、増加する数値のリストを生成しますが、ステップ値に負の数を指定することで、減少する数値のリストを生成することも可能です。
例えば、次のコードは10から-4までの数値を2つずつ減少させて出力します。
for i in range(10, -6, -2):
print(i)
このコードは、10から始まり、-2ずつカウントダウンして-6に達するまで続きます。ただし、-6は含まれないので、実際には-4までカウントダウンします。
また、Stack Overflowの投稿によれば、C言語のような減少するforループをPythonで実装する方法についても議論されています。その中で、range()
関数のステップ引数に負の数を指定することで、逆順にイテレートすることが可能であることが示されています。
以下にその例を示します。
arr = range(10) # Python 3ではrange()はジェネレータを返します
for i in range(len(arr)-1, 0, -1):
print(arr[i])
このコードは、リストarr
の最後の要素から始まり、1つずつ減少して1に達するまで続きます。
以上のように、Pythonのrange()
関数を使えば、増加するだけでなく、減少する数値のリストを簡単に生成することができます。これにより、様々な状況でのループ処理を柔軟に実装することが可能となります。