Czy istnieje sposób na zrobienie leniwego map
? A może jest inna implementacja tego wbudowana w Pythonie?Funkcja leniwej mapy w Pythonie
Chcę coś jak to działa:
from itertools import count
for x in map(lambda x: x**2, count()):
print x
Oczywiście, powyższy kod nie skończy, ale chciałbym po prostu wprowadzić dowolny warunek (lub bardziej skomplikowane logika) wewnątrz for
i zatrzymaj się w pewnym momencie.
Zobacz tutaj: [ Wiedzieć, kiedy być Lazy] (http://davywybiral.blogspot.com/2008/08/python-know-when-to-be-lazy.html). W skrócie: użyj wyrażeń generatora lub użyj modułu itertools. –
@RobertHarvey: Nice link. W rzeczywistości, poza robieniem 'x * 2' zamiast' x ** 2', blog jest idealnie dopasowany do tego pytania! – abarnert
@RobertHarvey Bardzo fajny artykuł. Dziękuję Ci! –