使用 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]
广告