使用 Python 中的 lambda 查找最多 n 个斐波那契数列

pythonserver side programmingprogramming更新于 2025/10/11 11:56:17

斐波那契数列是一种广为人知的数学数列,可以解释许多自然现象。它从 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]

相关文章


有用资源