繁体   English   中英

Python函数返回列表

[英]Python Function To Return List

我在这里写了Python新手函数,只将偶数作为列表返回,但我做不到。 你能帮忙吗? 这是我的初始函数,可以正常工作,但结果未列出:

def myfunc (*args):
    for num in args:
        if num % 2 == 0:
            print (num)

例如,使用以下参数调用函数时:

myfunc(1,2,3,4,5,6,7,8,9,10)

我正进入(状态:

2
4
6
8
10

但我需要将它们列入列表中,我想念的是什么? 这也不起作用:

list = []
def myfunc (*args):
    for num in args:
        if num % 2 == 0:
            print (list[num])

非常感激!

def myfunc (*args):
    mylist = []
    for num in args:
        if num % 2 == 0:
            mylist.append(num)
    return mylist

您的函数未返回任何内容。 您可能希望通过以下方式获取元素

def myfunc (*args):
    for num in args:
        if num % 2 == 0:
            yield num

或创建一个临时列表:

def myfunc (*args):
    lst = []
    for num in args:
        if num % 2 == 0:
            lst.append(num)
    return lst

您可以在REPL中检查返回的值:

>> type(print(num)) # print() returns None
NoneType

说明:简而言之, yield每次迭代该函数时都会返回一个元素-并且仅返回一次元素。 因此该函数也称为“生成器”。 关于yield一个很好的帖子 我无法解释得更好。


更新:不要使用list作为变量名, list是一种内置方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM