如何"double pop"?
How to "double pop"?
对不起,如果我的标题有点不清楚,我不确定如何更好地表达我的问题。我将给出一个快速代码片段来说明我正在尝试做什么:
for data_file in data_files:
analyze(data_file)
def analyze(data_file):
for _ in np.arange(n_steps):
foo(data_file)
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
double_return()
else:
continue doing other things
然后我想让函数 double_return()
做的是 return 回到更大的循环:
for data_file in data_files:
(而不是 return
,它将继续 for _ in n_steps
中的下一步)。但是,我不确定在这里使用什么命令,也没有找到它。
你可以做的是 return 一个 truthy
值(假设 foo()
之外的所有其他路由都是默认值 return None
)并测试它:
def analyze(data_file):
for _ in np.arange(n_steps):
if foo(data_file):
return
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
return True
else:
continue doing other things
for data_file in data_files:
analyze(data_file)
它相当模糊了意思,但它会以可测试的方式工作。
foo()
可以 return True
,如果它完成了,或者 False
如果你想“早点离开”:
for data_file in data_files:
analyze(data_file)
def analyze(data_file):
for _ in np.arange(n_steps):
if not foo(data_file):
return
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
return False
else:
continue doing other things
return True
编辑:
为了使意思更清楚,您可以定义 foo_completed=True
和 foo_not_completed=False
,并使用这些常量代替 True/False。
对不起,如果我的标题有点不清楚,我不确定如何更好地表达我的问题。我将给出一个快速代码片段来说明我正在尝试做什么:
for data_file in data_files:
analyze(data_file)
def analyze(data_file):
for _ in np.arange(n_steps):
foo(data_file)
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
double_return()
else:
continue doing other things
然后我想让函数 double_return()
做的是 return 回到更大的循环:
for data_file in data_files:
(而不是 return
,它将继续 for _ in n_steps
中的下一步)。但是,我不确定在这里使用什么命令,也没有找到它。
你可以做的是 return 一个 truthy
值(假设 foo()
之外的所有其他路由都是默认值 return None
)并测试它:
def analyze(data_file):
for _ in np.arange(n_steps):
if foo(data_file):
return
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
return True
else:
continue doing other things
for data_file in data_files:
analyze(data_file)
它相当模糊了意思,但它会以可测试的方式工作。
foo()
可以 return True
,如果它完成了,或者 False
如果你想“早点离开”:
for data_file in data_files:
analyze(data_file)
def analyze(data_file):
for _ in np.arange(n_steps):
if not foo(data_file):
return
do some other things
def foo(data_file):
do some things
if (value > 1):
do some things
return False
else:
continue doing other things
return True
编辑:
为了使意思更清楚,您可以定义 foo_completed=True
和 foo_not_completed=False
,并使用这些常量代替 True/False。