以下は Python2.7 で記述された for ループで、Python3.3 で実行すると構文エラーがスローされます。私はこの言語を初めて使用しますが、これがどのような for look であるかを理解するのに何か助けが欲しいですか? ありがとう。:)
for link in (links.pop(0) for _ in xrange(len(links))):
実行中に xrange() を range() に変更しました。「links」は URL のリストです。
以下は Python2.7 で記述された for ループで、Python3.3 で実行すると構文エラーがスローされます。私はこの言語を初めて使用しますが、これがどのような for look であるかを理解するのに何か助けが欲しいですか? ありがとう。:)
for link in (links.pop(0) for _ in xrange(len(links))):
実行中に xrange() を range() に変更しました。「links」は URL のリストです。
Python 3.3 では、xrangeはサポートされていません。範囲を使用するようにステートメントを変更する必要があります。
Python 2.X の range とは異なり、xrangeはイテレータを返しますが、as rangeはリストを返します。Python 3.X では xrange が削除され、代わりに範囲がイテレータを返すようになりました
これは とほとんど同じfor link in links:
ですが、なぜそうするのですか? それとは別に、 を置き換えたと言った場合、python3 では構文的に正しいですxrange
。
消費したい場合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
[]