我有一个循环的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();
答案 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)