range()和xrange()的区别
Posted 嚯嚯嚯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了range()和xrange()的区别相关的知识,希望对你有一定的参考价值。
今天写一下关于xrange()和range()的区别。
首先我们看一段代码:
class Ce_shi():
def __init__(self,start,end):
self.start = start
self.end = end
def __len__(self):
return self.end - self.start
def __getitem__(self,index):
if index < 0 and index > -(self.end):
return self.end + index
elif index >= self.end or index < -(self.end):
return IndexError
elif index > 0:
return self.start + index
这个类实现输出start--end之间的整数,也可以通过输入负索引来获取数字。
通过上面的例子就可以很好的理解range()和xrange()之间的区别了。
range()是一个序列,元素需要空间存储。
xrange()也是序列,但是它的元素不需要空间进行存储,它的实现与上面的Ce_shi类的实现方法类似。
如果进行只读,xrange()要比range()要好,如果需要对列表元素进行操作(增、删),range()更为适合。
本文参考:https://www.cnblogs.com/shixisheng/p/7089930.html
谢谢大家的阅读。
以上是关于range()和xrange()的区别的主要内容,如果未能解决你的问题,请参考以下文章