FAQ¶
Iterateur, Programmation Fonctionnelle¶
Différence entre un itérateur et un générateur ?
Un itérateur et un générateur produisent
tous deux des éléments issus d’un ensemble. La différence
vient du fait que qu’un itérateur parcourt les
éléments d’un ensemble qui existe en mémoire. Un générateur
produit ou calcule des éléments d’un ensemble qui n’existe
pas en mémoire. Par conséquent, parcourir deux fois un ensemble
avec un itérateur a un coût en alors que pour
un générateur, il faut ajouter le calcul de l’élément une
seconde fois. Le coût est imprévisible et parfois il est
préférable de cacher les éléments pour le parcourir
plusieurs fois : cela revient à transformer un générateur
en itérateur. Un générateur est souvent défini comme suit
en Python :
<<<
def generate(some_iterator):
for el in some_iterator:
yield el
g = generate([4, 5])
print(list(g))
print(g.__class__.__name__)
>>>
[4, 5]
generator
(entrée originale : simplefctmr.py:docstring of teachcompute.fctmr.simplefctmr.mapper, line 19)