使用 Python 中的 lambda 函式查詢斐波那契數列直至 n
斐波那契數列是一個廣為人知的數學數列,它解釋了許多自然現象。它以 0 和 1 開始,然後不斷將一個項新增到其前一項以獲得下一項。在本文中,我們將瞭解如何使用 Python 中的 lambda 函式生成給定數量的斐波那契數列元素。
使用 sum 和 map
我們使用 map 函式將 lambda 函式應用於列表的每個元素。我們設計了一個列表切片機制來獲取前兩項的和,並使用 range 來計算我們將生成多少項。
示例
def fibonacci(count): listA = [0, 1] any(map(lambda _:listA.append(sum(listA[-2:])), range(2, count))) return listA[:count] print(fibonacci(8))
輸出
執行以上程式碼將得到以下結果:
[0, 1, 1, 2, 3, 5, 8, 13]
使用 reduce 函式
在這種方法中,我們使用 reduce 函式以及 lambda 函式來獲取前兩項的和。我們必須兩次應用 lambda 以及 range 來計算所需的項數並獲得最終結果。
示例
from functools import reduce fib_numbers = lambda y: reduce(lambda x, _: x + [x[-1] + x[-2]], range(y - 2), [0, 1]) print(fib_numbers(8))
輸出
執行以上程式碼將得到以下結果:
[0, 1, 1, 2, 3, 5, 8, 13]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP