python循环只运行一次进行临时测试

时间:2016-03-01 07:23:39

标签: python

我有一个循环的python迭代字典。 字典非常大。对于调试,我想修改for循环只运行一次。如何在运行一次后限制for循环退出。

for key in dic:
  do_some_stuff()
  #after the first iteration exit

在java中我可以用这种方式修改for循环:

for (int i = 0; i < n; i++)
  doSomeStuff();

将受到限制:

for (int i = 0; i < n, i < 1; i++)
  doSomeStuff();

3 个答案:

答案 0 :(得分:4)

只需使用break

  

它终止最近的封闭循环,跳过可选的else   如果循环有一个子句。

for key in dic:
    do_some_stuff()
    break

如果要多次运行循环(多次),可以使用计数器:

for i, key in enumerate(dic):
    do_some_stuff()
    if i > 10:
        break

这将在break之前运行循环11次,因为索引(i)从0开始直到10。

答案 1 :(得分:2)

由于您正在进行调试,我想向您推荐pdb包: 有了它,您可以更好地控制执行过程。

   import pdb
   pdb.set_trace()
   for key in dic:
        do_some_stuff()

答案 2 :(得分:1)

您始终可以使用

对字典迭代器进行切片
from itertools import islice

for k in islice(dic, 1):
    do_something(k)

然后,要将其停用,只需将1更改为None即可。因此,你可以有一个为你决定的调试标志:

please_debug = True
for k in islice(dic, 1 if please_debug else None):
    do_something(k)