我有一个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();发布于 2016-03-01 07:24:38
只需使用break
它终止最近的封闭循环,如果循环有可选的one子句,则跳过该子句。
for key in dic:
    do_some_stuff()
    break如果您想多次运行循环(不止一次),可以使用计数器:
for i, key in enumerate(dic):
    do_some_stuff()
    if i > 10:
        break这将在breaking作为索引(i)从0开始一直运行到10之前,运行11次循环。
发布于 2016-03-01 08:04:53
由于您正在进行调试,我想向您推荐pdb包:使用它,您可以更好地控制执行过程。
   import pdb
   pdb.set_trace()
   for key in dic:
        do_some_stuff()发布于 2016-03-01 08:10:26
您可以始终将字典迭代器分割为
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)https://stackoverflow.com/questions/35716942
复制相似问题