簡體   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