一尘不染

Python 2.X中的range和xrange函数之间有什么区别?

python

显然xrange更快,但我不知道为什么它更快(到目前为止,除了轶事之外还没有证据表明它更快)或除此之外还有什么不同

for i in range(0, 20):
for i in xrange(0, 20):

阅读 458

收藏
2020-02-13

共1个答案

一尘不染

在Python 2.x中:

  • range创建一个列表,所以如果你这样做range(1, 10000000),则会在内存中创建一个包含9999999元素的列表。

  • xrange 是一个延迟计算的序列对象。

在Python 3中,range它等效于python xrange,并且必须使用来获取列表list(range(...))

2020-02-13