Python中嵌套for循环中的语法错误

时间:2013-01-08 11:26:10

标签: python python-3.x python-2.7

下面是用Python2.7编写的for循环,它在Python3.3中执行时抛出语法错误。我是这门语言的新手,想要了解任何帮助,了解这是什么样的?谢谢。 :)

for link in (links.pop(0) for _ in xrange(len(links))):

执行时我已将xrange()更改为range()。 'links'是一个网址列表。

2 个答案:

答案 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
[]