名称xrange未定义



我在jupyter笔记本上运行了下面的代码,它带来了以下错误消息:名称"xrange"范围未定义。我不知道我做错了什么,我已经安装了python-3.9]。有人帮忙吗?

from pyspark import SparkContext
import random
n = 100
heads = (sc.parallelize(xrange(n))
.map(lambda _: random.random())
.filter(lambda r: r < 0.5)
.count())
tails = n - heads
ratio = 1. *heads / n
print('heads =',heads)
print('tails =',tails)
print('ratio =',ratio)

xrange是Python 2函数。在Python 3中,函数的名称已更改为range

有关更多信息,请阅读range函数的文档。

在Python 2上,range返回完整列表:

range(5)

[0, 1, 2, 3, 4]

并且xrange返回了一个可迭代的对象。

在Python3上,range返回一个可迭代对象:

x = range(5)
print(x)  # range(0, 5)
print(next(x))  # 0
print(next(x))  # 1

最新更新