迭代一个新生成的列表:Python

时间:2014-08-11 06:43:38

标签: python

我正在尝试重用Fibonacci序列中新创建的列表,我希望能够使用答案迭代并调用偶数。 我可以自己做,但不知道如何使用我当前代码的结果。 任何帮助非常感谢。谢谢。

FibStart = int(raw_input('Enter a start number : '))
FibStop = int(raw_input('Enter a stop number : '))
def fib(n):
    if n < 2:
        return n
    else:
        return fib(n-2) + fib(n-1)        
print map(fib, range(FibStart, FibStop))


# when called will return [0,1,1,2,3,5,8,13,21,34]

1 个答案:

答案 0 :(得分:7)

只需将您的英文文本翻译成代码:

  

我希望能够使用答案

因此将其存储在变量中:

answer = map(fib, range(FibStart, FibStop))
  

...迭代

所以迭代它:

for value in answer:
  

...并且只调用偶数。

因此,检查它们是否均匀:

    if value % 2 == 0:

或者,如果您想要重复使用偶数值的新列表,可以使用列表推导:

evens = [value for value in answer if value % 2 == 0]
for even in evens: