||
在Range的方法中,它会生成一个list的对象,但是在XRange中,它生成的却是一个xrange的对象,当返回的东西不是很大的时候,或者在一个循环里,基本上都是从头查到底的情况下,这两个方法的效率差不多。但是,当返回的东西很大,或者循环中常常会被Break出来的话,还是建议使用XRange,这样既省空间,又会提高效率。
下面举个例子:
如果使用range函数,执行下面的语句,将会得到后面的结果:
>>> a = range(0,10)
>>> print type(a)
<type 'list'>
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> print a[0], a[1]
0 1
但是,将开始的range用xrange替换,将会得到不同的结果:
>>> a = xrange(0,10)
>>> print type(a)
<type 'xrange'>
>>> print a
xrange(100)
>>> print a[0], a[1]
0 1
这里可以很直接的看到它们的不同点,虽然a[0], a[1]返回的值是相同的。所以,以后coding的时候还是尽可能使用xrange了
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 03:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社