在python 3中发出反转列表的问题

时间:2015-04-21 08:26:52

标签: python python-3.x

def fib2(n): #return Fibonacci series up to n
     """Return a list containing the Fibonacci series up to n."""
     result = []
     a, b = 0, 1
     while b < n:
          result.append(b) #see below
          a, b = b, a+b
     return result

#===========================================
f35 = fib2(35)     #call it
print (f35)        #write the result

好的,这就是我到目前为止所拥有的。这给出了输出[1,1,2,3,5,8,13,21,34]。这很好,但我需要逆转。显示[34,21,13,8,5,3,2,1,1]。我无法弄清楚如何应用反向命令或使用[:: - 1]方法。

如果我尝试应用上述任何方法,我会遇到一堆错误。我很擅长这个。感谢您的时间。

3 个答案:

答案 0 :(得分:0)

试试这个

print (f35[::-1]) // Reversed list will be printed  

周围有some other ways来反转列表。他们都会工作。

您还可以使用列表对象的reverse方法

f35.reverse()
print(f35)

答案 1 :(得分:0)

您可以使用以下任何一种

return result[::-1] # or list(reversed(result))

OR

f35 = fib2(35)
f35.reverse()
print(f35)

答案 2 :(得分:0)

作为替代方案,您可以使用insert代替append来首先按正确的顺序构建列表?

所以而不是:

result.append(b)

执行:

result.insert(0, b)

b放在列表中的索引0处,并将所有其他元素推到一个。