- 此问题在此处已有答案**:
How can I use return
to get back multiple values from a loop? Can I put them in a list?(2个答案)
2年前关闭。
def myfunc(*args):
for x in args:
if x% 2== 0:
return x
else:
pass
我想知道为什么这段代码只返回一个值。
How can I use return
to get back multiple values from a loop? Can I put them in a list?(2个答案)
2年前关闭。
def myfunc(*args):
for x in args:
if x% 2== 0:
return x
else:
pass
我想知道为什么这段代码只返回一个值。
3条答案
按热度按时间q3qa4bjr1#
你可以使用列表解析,它是最简单、最短、最Python的:
或者,继续使用循环方法,你必须收集偶数,而不仅仅是返回第一个,你也可以省略
else: pass
,因为它什么也不做:lpwwtiir2#
因为当你得到第一个偶数的时候,你就“返回”它。如果你想得到每一个偶数,在循环过程中把它存储到一个列表中,并在循环结束后返回列表。
0aydgbwb3#
我想知道为什么这段代码只返回一个值
因为这就是你要它做的,
return
会立即从函数返回你给它的任何值,因为你一遇到偶数参数就返回return x
,这就是函数返回的值:第一个偶数参数。如果你想要多个值,你需要将你的事件 accumulate 到一个结构中(例如一个列表),或者创建一个 generator function,它可以
yield
多个值,而不是立即返回一个值。