3,073 views
この記事は最終更新から 1812日 が経過しています。
range と xrange は同じように使える。
>>> for i in range(3,6):
... print i
...
3
4
5
>>> for i in xrange(3,6):
... print i
...
3
4
5
作られるオブジェクトはそれぞれ異なる。
>>> r = range(3,6) >>> r [3, 4, 5]
>>> x = xrange(3,6) >>> x xrange(3, 6)
でも、やっぱり同じように使える。
>>> for i in r:
... print i
...
3
4
5
>>> for i in x:
... print i
...
3
4
5
結局のところどう使い分ける?
rangeで生成されるのが listなのに対して、xrangeが生成するのは iteratorとのこと。
すなわち、配列要素数が増えた場合に xrangeの方がメモリを節約できるとのこと。