Sponsored Link

(68) rangeとxrange

(68) rangeとxrange

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の方がメモリを節約できるとのこと。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*