【发布时间】:2019-05-10 04:28:03
【问题描述】:
我试图在 python 中使用 *args 和 for 循环,但是我看不到如何返回传递给函数的所有值,该函数应该返回所有偶数
def f_even(*args):
for item in args:
if item%2 == 0:
return item
上面的代码只返回第一个值,我猜在返回后它会退出函数。确实,如果我改用 print,它会起作用
当我将 (1,2,3,4,5) 传递给函数时,我试图找到一种方法来返回一个包含所有偶数的元组
谢谢!
【问题讨论】:
-
那么,返回一个元组?
return x, y完全有效。但是,在for循环中包含return可能不是您想要的。return会立即让你退出该功能。 -
你应该阅读docs.python.org/3/tutorial/datastructures.html并学习使用列表。
-
例如,您可以将要返回的值存储在一个列表中,然后返回该列表。如果您喜欢冒险,也许是时候了解一下生成器了!
-
也许你应该看看generators 和
yield声明?