Python2では、xrange()
という関数がありました。この関数は、引数に設定した値を元に連続した数のイテレータを返す機能を持っています。
for i in xrange(5):
print i
上記のコードは、0から4までの整数を順に出力します。このとき、xrange()
関数は0から4までの整数を順に生成し、それぞれのループでi
に値を渡します。
xrange()
関数の特徴は、メモリ効率の良さにあります。xrange()
はイテレータを返すため、ループの全体の値を最初にリストとして生成するrange()
関数と比べて、大量のメモリを消費することなく大規模なループを扱うことができます。
しかし、Python3からはxrange()
関数は廃止され、その機能はrange()
関数に統合されました。そのため、Python3では上記のコードは次のように書き換える必要があります。
for i in range(5):
print(i)
この変更により、Python3ではrange()
関数がイテレータを返すようになり、大規模なループを扱う際のメモリ効率が向上しました。
以上がPython2のxrange()
関数についての説明です。Pythonを使ったプログラミングを行う際には、使用しているPythonのバージョンによって利用できる関数が異なることを覚えておきましょう。