有人能告訴我Python的for循環是如何實現的嗎?我問這個的原因是因爲我得到不同的行爲在以下兩個for循環,當我想到相同的行爲(假設cases
只是一組元素):用於循環實現的Python
第一個for循環:
for case in cases:
blah
第二個for循環:
for i in range(len(cases)):
case = cases[i]
blah
我跑我的代碼在多線程環境。
基本上,我想知道是否Python的for循環遍歷一個集合(如在第一個for循環)只是第二個快速簡單的方法。當我們使用python for循環時究竟發生了什麼,並且是否有任何潛在的優化/實現可能導致我觀察到的行爲差異?
如果'cases'實際上是一個'set',第二個片段不起作用。它碰巧是一個「列表」? – delnan 2013-05-05 18:10:13
兩條評論: (1)你是什麼意思的多線程環境。你在你的Python代碼中創建了多個線程嗎?如果這是代碼,請分享相同的代碼。 (2)您可以將打印件放入您的for循環並嘗試調試。您需要提供更多信息,說明您在每次迭代中如何打印案例的價值。 – vishal 2013-05-05 18:10:47
@delnan對不起,我的意思是列表,沒有設置 – Penguinator 2013-05-05 18:41:17