¿El filtro/mapa es equivalente a la comprensión de la lista? Supongamos que tengo la siguiente funciónmapa de filtro frente a la lista de comprensión
def fib_gen():
a,b = 0,1
yield 0
yield 1
while True:
a,b = b,a+b
yield b
Ahora puedo utilizar comprensión de lista para enumerar los números fib:
a = fib_gen()
print [a.next() for i in range(int(sys.argv[1]))]
Supongamos que quiero hacer una lista única, incluso fib números. Haría lo siguiente con filtro/mapa:
a = fib_gen()
print filter(even, map(lambda x: a.next(), range(int(sys.argv[1]))))
¿Cómo puedo obtener el mismo resultado con la lista de comprensión?
Gracias. ¿Qué pasa con las expresiones de filtrado que contienen next() como en mi ejemplo? –
@Oleg: Ah, estoy agregando algo de información, reviso mi última adición y verás que puedes evitar 'next' también. – Skurmedel