range()でリストを逆順に印刷するには?

Pythonでrange()を使って次のようなリストを作るにはどうしたらいいでしょうか?

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
ソリューション

関数 reversed() を使用します。

reversed(range(10))

より意味のあるものになります。

アップデート:

リストにしたい場合は(btkさんが指摘したように)。

list(reversed(range(10)))

更新します。

同じ結果を得るためにrangeだけを使いたい場合は、そのパラメータをすべて使うことができます。range(start, stop, step)

例えば,リスト [5,4,3,2,1,0] を生成するには,次のようにします.

range(5, -1, -1)

直感的ではないかもしれませんが、コメントにもあるように、これはより効率的で、逆リストのためのレンジの正しい使い方です。

解説 (11)

組み込み関数 'range'を使用します。シグネチャはrange(start, stop, step)です。 これは、startから始まり、stopに到達した場合に終了する、stopを除いた数値を得るシーケンスを生成します。

>>> range(9,-1,-1)   
    [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> range(-2, 6, 2)
    [-2, 0, 2, 4]

Python 3 では、これは非リストの range オブジェクトを生成します。このオブジェクトは実質的に読み取り専用のリストのように機能します(しかし、特に大きな範囲ではメモリ使用量が非常に少なくなります)。

解説 (4)
range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
解説 (4)