簡體   English   中英

Python是否會停止無限的“ for”循環?

[英]Does Python ever stop an infinite “for” loop?

python是否會自動終止或為無限的“ for”循環生成錯誤?

例如,

list = [1]

for number in list:
    print (number + 1)
    list.append(number + 1)

導致程序自行終止或出錯?

我已經對其進行了一些測試,甚至達到了10,000。

不,該程序將永遠運行。 它可能會崩潰,因為您的調用棧很大(如果您在某處使用了遞歸),或者您曾經使用過多的內存。 您的示例最終將崩潰。

while True:
    pass

它將“永遠”運行,但是沒有任何問題。

該程序將結束,但是要花很長時間才能完成。 最終,您的列表將使系統內存不足,該程序將因錯誤而崩潰。

除非您指定范圍或限制,否則不會。 您當前擁有它的方式將一直持續到遇到內存錯誤為止。

另外,不要將list用作變量,因為它是python的保留函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM