下面是用Python2.7编写的for循环,它在Python3.3中执行时抛出语法错误。我是这门语言的新手,想要了解任何帮助,了解这是什么样的?谢谢。 :)
for link in (links.pop(0) for _ in xrange(len(links))):
执行时我已将xrange()更改为range()。 'links'是一个网址列表。
答案 0 :(得分:3)
在Python 3.3中,不支持xrange。您需要将语句更改为使用范围。
xrange与Python中的范围不同2.X返回一个迭代器,其中range返回一个列表。 在Python 3.X中,xrange已被删除,而范围现在返回迭代器
答案 1 :(得分:2)
这与for link in links:
大致相同,那你为什么要这样做呢?除此之外,如果你说你替换了xrange
,那么在python3中它在语法上是正确的。
如果您想要消费links
,您可以执行以下操作:
links=[1,2,3,4,5]
links.reverse() #If the order matters
while links:
print(links.pop())
print(links)
出:
1
[5, 4, 3, 2]
2
[5, 4, 3]
3
[5, 4]
4
[5]
5
[]