下面是写在Python2.7一个for循环,并同时Python3.3执行它抛出一个语法错误。我对这种语言很陌生,希望得到任何帮助,以了解这是什么样的外观?谢谢。 :)语法错误嵌套for循环Python中
for link in (links.pop(0) for _ in xrange(len(links))):
我在执行时已将xrange()更改为range()。 '链接'是一个网址列表。
下面是写在Python2.7一个for循环,并同时Python3.3执行它抛出一个语法错误。我对这种语言很陌生,希望得到任何帮助,以了解这是什么样的外观?谢谢。 :)语法错误嵌套for循环Python中
for link in (links.pop(0) for _ in xrange(len(links))):
我在执行时已将xrange()更改为range()。 '链接'是一个网址列表。
在Python 3.3,xrange不支持。您需要将语句更改为使用范围。
xrange不像范围在Python 2.X返回迭代,其中作为range返回一个列表。 在Python 3.X中,xrange已被删除,而现在范围返回一个迭代器
嗨Abijit,是的,我已经用范围代替了xrange,但仍然存在语法错误。除此之外,以上for循环句法正确吗? – user1957908
@ user1957908:在这个循环中没有其他语法问题,除了这种方式无用的写循环外。请参阅根的答案。请参阅[Ideone分享](http://ideone.com/zrvTiT) – Abhijit
这与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
[]
是略微不同,如'links'将在本月底空 - 但它仍然是一个可怕的想法。 –
@Lattyware - 是的,如果op真的想要使用这个列表,请添加一个例子。 – root
有什么实际** **中的for循环? – Volatility
这不是一个嵌套循环,它与[发电机表达式]环(http://www.youtube.com/watch?v=pShL9DCSIUw)。这些是不同的事情。另外请注意,这是循环一些东西的可怕方法。另外,当你遇到错误时,发布实际的错误,那么看看问题是多么容易。 –
“它正在抛出语法错误”。哪一个?它看起来如何? – glglgl