首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python循环只运行一次以进行临时测试。

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

Stack Overflow用户
提问于 2016-03-01 07:23:38
回答 3查看 421关注 0票数 0

我有一个python循环,可以在字典上进行迭代。这本词典很大。对于调试,我希望修改For循环,使其只运行一次。如何限制for循环在运行一次后退出。

代码语言:javascript
运行
复制
for key in dic:
  do_some_stuff()
  #after the first iteration exit

在java中,我可以这样修改for循环:

代码语言:javascript
运行
复制
for (int i = 0; i < n; i++)
  doSomeStuff();

会受到这样的限制:

代码语言:javascript
运行
复制
for (int i = 0; i < n, i < 1; i++)
  doSomeStuff();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-01 07:24:38

只需使用break

它终止最近的封闭循环,如果循环有可选的one子句,则跳过该子句。

代码语言:javascript
运行
复制
for key in dic:
    do_some_stuff()
    break

如果您想多次运行循环(不止一次),可以使用计数器:

代码语言:javascript
运行
复制
for i, key in enumerate(dic):
    do_some_stuff()
    if i > 10:
        break

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

票数 4
EN

Stack Overflow用户

发布于 2016-03-01 08:04:53

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

代码语言:javascript
运行
复制
   import pdb
   pdb.set_trace()
   for key in dic:
        do_some_stuff()
票数 2
EN

Stack Overflow用户

发布于 2016-03-01 08:10:26

您可以始终将字典迭代器分割为

代码语言:javascript
运行
复制
from itertools import islice

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

然后,要禁用它,只需将1更改为None即可。因此,您可以使用一个调试标志来决定:

代码语言:javascript
运行
复制
please_debug = True
for k in islice(dic, 1 if please_debug else None):
    do_something(k)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35716942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档