簡體   English   中英

在 Python 中返回一個列表

[英]Returning a list in Python

我在 python 中工作,試圖編寫一個代碼來生成斐波那契數列並將結果作為列表返回。 我該怎么做? 我能夠編寫代碼來返回值集而不是列表,但我不確定我將如何編寫代碼來返回列表。

(這是我必須只返回值的代碼,而不是列表)

def fibo1(par):
var1 = 0
var2 = 1
while var2 < par:
    print var2
    var3 = var1 + var2
    var1 = var2
    var2 = var3   

def main():
    number = int(raw_input("What is the number? "))
    return (fibo1(number))

main()

這有效。 而不是打印var2 ,只需將其添加到列表中並在完成后返回列表。 這是工作代碼:

def fibo1(par):
    var1 = 0
    var2 = 1
    list = []
    while var2 < par:
        list.append(var2)
        var3 = var1 + var2
        var1 = var2
        var2 = var3   
    return list

def main():
    number = int(raw_input("What is the number? "))
    print fibo1(number)

main()

當您想返回值時,您可以使用 yield 將您的 fibo1 函數轉換為生成器,因此您只需將其用作列表函數的參數:

def fibo1(par):
    var1 = 0
    var2 = 1
    while var2 < par:
        yield var2
        var3 = var1 + var2
        var1 = var2
        var2 = var3   

def main():
    number = int(raw_input("What is the number? "))
    return list(fibo1(number))

print repr(main())

暫無
暫無

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

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