在Python中使用Lambda查找多达n的斐波那契数列

斐波那契数列是维德利已知的数学序列,它解释了许多自然现象。它以0和1开头,然后继续将一个术语添加到其上一个术语以获得下一个术语。在本文中,我们将看到如何通过使用python中的lambda函数生成给定数量的斐波那契数列元素。

和和映射

我们使用map函数将lambda函数应用于列表的每个元素。我们设计了一个列表切片机制来获取前两个项的总和,并使用范围来计数要生成的项数。

示例

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函数与lambda函数一起使用来获得前两项的和。我们必须两次应用lambda及其范围,以保持所需术语数的计数并获得最终结果。

示例

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]