簡體   English   中英

用Python返回列表

[英]Returning list in Python

我正在研究Python,並且遇到了一些Python怪問題。 我不知道為什么返回該函數會丟棄數據。

def foo(mylist=None):
    print "Input: {}".format(mylist)
    if mylist is None:
        mylist = list()
    if len(mylist) == 3:
        return mylist
    else:
        mylist.append(len(mylist))
        foo(mylist)

print "Output: {}".format(foo())

打印:

Input: None
Input: [0]
Input: [0, 1]
Input: [0, 1, 2]
Output: None

我想這與指向一個不再存在的列表有關,但是在一個簡單的例子中我沒有得到:

def simple_foo():
    to_return = [1, 2, 3]
    return to_return

print "Simple output: {}".format(simple_foo())

我什至嘗試(在foo中)將列表深復制到to_return變量中,然后將其返回,但這似乎也不起作用。 有人能對此有所啟示嗎? 我會很感激。

您必須繼續return

您的遞歸調用:

foo(mylist)

需要返回其返回值:

return foo(mylist)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM