我對python還是有點新東西,我可以用while循環做任何事情,但我仍然無法理解這一點。 for i in range(len(s)):
for x in a: <- where a is an empty set
如何在python中將循環換成while循環
-2
A
回答
2
要獲得項目走出了一條set
沒有for
循環,你可以使用一個迭代器。這可能是你的教授。指的是。例如:
i = iter(s)
while True:
try:
next(i)
except StopIteration:
break
+0
請注意,您可以調用'next(i,default)'來避免最後的異常。 – o11c
0
你可以做一切在while
循環,但有時也可以是尷尬。關於for
循環的一點是它消耗一個序列。
爲了您的第一個例子中,循環是非常簡單的,因爲所有我們真正想要的是在指數s
for i in range(len(s)):
print(i)
i = 0
while i < len(s):
print(i)
i += 1
你的第二個例子是更多的問題,因爲你不能索引集。可能的,處理它的最好方法是將該集合轉換爲列表和索引。或者你可以模仿for
通過創建你自己的迭代器並自己處理迭代結束異常。
a = set()
for x in a:
print(x)
# this would be illegal because you can't index the set
i = 0
while i < len(a):
print(a[i]) # ERROR
i += 1
# so we make a list
i = 0
_a = list(a)
while i < len(_a):
print(_a[i])
i += 1
# or use an iterator for the set
a_iter = iter(a)
while True:
try:
print(next(a_iter))
except StopIteration:
break
在像C一些語言,while
是for
只是一個簡寫爲形式...
while(x < 5)) {...}
for(;x < 5;) {...}
但正如你所看到的,這樣是不是蟒蛇的情況。
相關問題
- 1. 如何在Python中將循環轉換爲while循環?
- 2. 在python中將while循環轉換爲for循環
- 3. 如何在python中將'for循環'重寫爲'while循環'?
- 4. 如何將while循環變成do while循環?
- 5. 將循環轉換爲while循環
- 6. 將'for'循環轉換爲'while'循環
- 7. 將while循環轉換爲for循環
- 8. 將while循環轉換爲for循環
- 9. 將循環轉換爲while循環c#
- 10. 將循環轉換爲while循環
- 11. 將for循環轉換爲while循環
- 12. Python的while循環while循環
- 13. 將一個while循環轉換爲Python中的for循環3.3
- 14. Python - While循環
- 15. while循環(Python)
- 16. while循環(Python)
- 17. Python的轉換for循環變成一個while循環
- 18. 把goto換成while循環?
- 19. Python中無限循環while循環
- 20. SQL:在while循環中while循環
- 21. while循環在if循環中while循環中
- 22. 在Java中的do-while循環中轉換while循環
- 23. 如何使用while循環,for循環來替換這個do-while循環。
- 24. 將while循環轉換爲函數? Python
- 25. 如何將'while'循環變成'for'循環?
- 26. Perl while while循環只在for循環中循環一次
- 27. 如何將兩個(for循環)轉換爲(while循環)?
- 28. 如何將(for循環)轉換爲(do-while)循環?
- 29. 如何將循環轉換爲while循環?
- 30. 如何將此循環轉換爲while循環?
請在您的問題中編寫代碼時使用代碼塊。你在這裏問什麼也不清楚。 – sramij