上述错误原因:

我的python版本为python 3.5,而xrange适用于2.7版,在3版中range与xrange已经合并为range了。

解决方法:

在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange( ),因此,当遇到这种问题时,有两种方法可以解决这个问题。

  • 第一种:若你想在python 3中运行程序,将xrange( )函数全部换为range( )即可
  • 第二种:将出现此问题的程序放在python 2.x版本的环境中运行即可

我试了第一种就把问题解决了。

下面是对xrange( )进行的一个简单的介绍。

在Python 2.x中,经常会用xrange()创建一个可迭代对象,通常出现在“for循环”或“列表/集合/字典推导式”中。

这种行为与生成器非常相似(如”惰性求值“),但这里的xrange-iterable无尽的,意味着可能在这个xrange上无限迭代。

由于xrange的“惰性求知“特性,如果只需迭代一次(如for循环中),range()通常比xrange()快一些。不过不建议在多次迭代中使用range(),因为range()每次都会在内存中重新生成一个列表。

在Python 3中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange()(在Python 3中使用xrange()会触发NameError)。