有人能告诉我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