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

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

推荐答案

In Python 2.x:

  • range创建一个列表,所以如果您执行range(1, 10000000),它会在内存中创建一个包含9999999个元素的列表.

  • xrange是延迟求值的Sequence对象.

In Python 3:

  • range相当于Python2的xrange.要获得该列表,您必须显式使用list(range(...)).
  • xrange已不复存在.

Python相关问答推荐

数字梯度的意外值

剧作家Python:expect(locator).to_be_visible()vs locator.wait_for()

Class_weight参数不影响RandomForestClassifier不平衡数据集中的结果

如何使用pandasDataFrames和scipy高度优化相关性计算

Polars LazyFrame在收集后未返回指定的模式顺序

根据另一列中的nan重置值后重新加权Pandas列

Gekko:Spring-Mass系统的参数识别

如何使用html从excel中提取条件格式规则列表?

NP.round解算数据后NP.unique

如何从.cgi网站刮一张表到rame?

django禁止直接分配到多对多集合的前端.使用user.set()

为什么以这种方式调用pd.ExcelWriter会创建无效的文件格式或扩展名?

NumPy中条件嵌套for循环的向量化

多指标不同顺序串联大Pandas 模型

为什么numpy. vectorize调用vectorized函数的次数比vector中的元素要多?

在Python中调用变量(特别是Tkinter)

不允许 Select 北极滚动?

使用tqdm的进度条

将CSS链接到HTML文件的问题

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错