1. ホーム
  2. python

[解決済み] Python 2.Xのrange関数とxrange関数の違いは何ですか?

2022-03-18 11:02:59

質問

xrangeの方が速いらしいが、なぜ速いのか(これまでの逸話以外に速いという証拠もない)、それ以外に何が違うのか、さっぱりわからない。

for i in range(0, 20):
for i in xrange(0, 20):

解決方法は?

Python 2.xの場合。

  • range はリストを作成するので、もし range(1, 10000000) でメモリ上にリストが作成されます。 9999999 要素で構成されます。

  • xrange は遅延評価されるシーケンスオブジェクトです。

Python 3では。

  • range は、Python 2 の xrange . リストを取得するためには、明示的に list(range(...)) .
  • xrange はもう存在しない。