You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将斐波那契序列结果整合为单个列表?求更优实现方案

斐波那契序列生成优化方案及列表整合方法

一、更优的实现方式

直接迭代构建列表是效率较高的方案,能避免不必要的类型转换与重复计算:

def fib_sequence(n):
    sequence = []
    a, b = 0, 1
    for _ in range(n):
        sequence.append(a)
        a, b = b, a + b
    return sequence

# 调用示例:生成前10项斐波那契序列
print(fib_sequence(10))
# 输出结果:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

如果需要生成到某个特定数值为止的序列,只需调整循环终止条件即可。

二、现有代码的列表整合方法

你之前的问题核心是每次循环都重新创建了列表,而非将结果追加到同一个容器中。假设你的fib(i)函数用于返回第i项斐波那契数,按以下方式修改即可:

  1. 提前初始化一个空列表
  2. 循环遍历目标范围,将每次的fib(i)结果追加到列表中
  3. 最后输出完整列表

示例代码:

# 假设你的fib函数实现如下
def fib(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

# 整合为单个列表
result = []
# 生成前10项,可按需调整循环范围
for i in range(10):
    result.append(fib(i))

print(result)
# 输出结果:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

注意:递归版fib函数的时间复杂度较高,若生成的序列项数较多,建议优先使用前面的迭代实现。

内容的提问来源于stack exchange,提问作者Yato kirishima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:57:04