【发布时间】:2017-07-11 06:15:33
【问题描述】:
我是 python 新手,我想知道是否可以使用 python 的列表理解功能生成斐波那契数列。我不知道列表推导是如何实现的。 我尝试了以下方法(目的是生成前五个斐波那契数):
series=[]
series.append(1)
series.append(1)
series += [series[k-1]+series[k-2] for k in range(2,5)]
这段代码抛出错误:IndexError: list index out of range。
让我知道是否甚至可以使用列表推导生成这样的系列。
【问题讨论】:
-
你不能那样做,因为 list comprehension 在添加到
series...之前先被评估过。 -
reduce是斐波那契数列的更好选择,因为迭代 X 的输入取决于迭代 X -1 的输出
标签: python list-comprehension fibonacci