私が言っているのは次のようなことです:
for(i=n; i>=1; --i) {
//do something with i
}
Python でこれを行う方法はいくつか考えられます ( と のリストを作成しrange(1,n+1)
、それを逆にしたり、while
と を使用したり--i
、...) が、もっとエレガントな方法があるのではないかと考えました。あるのでしょうか?
編集: range はリストを返しますが、xrange は反復子を返すので、range() ではなく xrange() を使用するように勧める人もいます。しかし、Python 3 (たまたま使用しています) では range() は反復子を返し、xrange は存在しません。
ベストアンサー1
range()
そして、xrange()
ステップを指定する 3 番目のパラメータを取ります。つまり、次の操作を実行できます。
range(10, 0, -1)
これにより
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
しかし、反復処理の場合は、xrange
代わりに次のものを使用する必要があります。
xrange(10, 0, -1)
range
Python 3 ユーザーへの注意: Python 3 には別個の 関数と関数はなく、 Python 2 の の設計に従うxrange
関数だけがあります。range
xrange