过滤器/映射和列表推导式是否等价? 假设我有以下函数
def fib_gen():
a,b = 0,1
yield 0
yield 1
while True:
a,b = b,a+b
yield b
现在我可以使用列表推导式来列出斐波那契数列:
a = fib_gen()
print [a.next() for i in range(int(sys.argv[1]))]
假设我想列出仅为偶数的斐波那契数。 我可以使用filter/map执行以下操作:
a = fib_gen()
print filter(even, map(lambda x: a.next(), range(int(sys.argv[1]))))
如何使用列表推导式获得相同的结果?
next
。 - Skurmedel