Python:创建前n个Fibonacci数的列表

时间:2015-10-25 02:52:53

标签: python fibonacci

我是Python和这些论坛的新手。

我的问题是:如何在Python中创建n斐波纳契数列表?

到目前为止,我有一个函数可以给出 nth Fibonacci数,但是我希望得到第一个n Fib的列表。未来工作的数字。

例如:

fib(8) -> [0,1,1,2,3,5,8,13]

3 个答案:

答案 0 :(得分:5)

这是使用发电机的一种方式......

public static bool EqualsOtherList<T>(this List<T> thisList, List<T> theOtherList)
{
  if (thisList == null || theOtherList == null || 
      thisList.Count != theOtherList.Count) return false;
  return !thisList.Where((t, i) => !t.Equals(theOtherList[i])).Any();
}

答案 1 :(得分:2)

尝试这个,这是一个递归实现,它通过首先计算以前的值列表来返回数字列表:

fib(8)
=> [0, 1, 1, 2, 3, 5, 8, 13, 21]

按预期工作:

{{1}}

答案 2 :(得分:0)

你可以使用它来实现它:

def fib(n):
  if n <= 0:
     return []
  if n == 1:
     return [0]
  result = [0, 1]
  if n == 2:
     return result
  for i in xrange(2, n):
     result.append(result[i-1] + result[i-2])
  return result