gpt4 book ai didi

python - 在 Python 3 中不使用 `break` 停止迭代

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:52 24 4
gpt4 key购买 nike

例如,是否可以在不使用break(并且不使用continuereturn)的情况下重写这段代码?

import logging

for i, x in enumerate(x):
logging.info("Processing `x` n.%s...", i)
y = do_something(x)
if y == A:
logging.info("Doing something else...")
do_something_else(x)
elif y == B:
logging.info("Done.")
break

编辑:由于有些人批评在循环内使用 breakcontinue ,我想知道 Python 是否允许编写 for 循环而不用他们。我会说 Python 不允许这样做(并且可能会违反“一种方法”规则)。

EDIT2:评论者让我注意到可以使用 return 代替,但这也不是解决方案。

最佳答案

你总是可以使用一个函数并从中返回:

import logging

def func():
for i, x in enumerate(x):
logging.info("Processing `x` n.%s...", i)
y = do_something(x)
if y == A:
logging.info("Doing something else...")
do_something_else(x)
elif y == B:
logging.info("Done.")
return # Exit the function and stop the loop in the process.
func()

尽管在我看来使用 break 更优雅,因为它使您的意图更清晰。

关于python - 在 Python 3 中不使用 `break` 停止迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27068925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com