6

有没有办法从range()函数中获取最后一个数字?我需要获取斐波那契数列中前 20 个术语的最后一个数字,还是应该使用列表而不是range()

4

4 回答 4

12

不太确定你在这里追求什么,但这里有:

rangeList = range(0,21)
lastNumber = rangeList[len(rangeList)-1:][0]

或者:

lastNumber = rangeList[-1]
于 2009-04-23T02:20:11.760 回答
3

范围内,您是指生成器提供的最后一个值吗?如果是这样,您可以执行以下操作:

def fibonacci(iterations):
    # generate your fibonacci numbers here...


[x for x in fibonacci(20)][-1]

这将为您提供最后生成的值。

于 2009-04-23T02:21:27.870 回答
1

我认为没有人认为您需要斐波那契数。不,您必须存储每个数字才能递归地构建斐波那契数列,但是有一个公式可以得到斐波那契数列的第 n 项。

比奈公式

如果您需要列表的最后一个数字,请使用 myList[-1]。

于 2009-04-23T02:25:33.587 回答
0

这就是你所追求的吗?

somerange = range(0,20)
print len(somerange) # if you want 20
print len(somerange)-1 # if you want 19

现在,如果您想要列表中包含的数字或项目...

x = [1,2,3,4]
print x[len(x)-1]
# OR
print x[-1] # go back 1 element from current index 0, takes you to list end
于 2009-04-23T02:16:05.090 回答