17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Cycle infini<br />

>>> import itertools<br />

>>> iter = itertools.cycle('abc')<br />

>>> [iter.next() for i in range(8)]<br />

['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b']<br />

Principaux modules, partie 3<br />

CHAPITRE 10<br />

Au premier passage, chaque élément parcouru est sauvegardé en interne, puis l’itérateur<br />

boucle indéfiniment sur les éléments sauvegardés.<br />

La mémoire maximum utilisée par cette fonction est donc le double de la taille de<br />

l’itérable passé en paramètre.<br />

dropwhile(prédicat, itérable) -> itérateur<br />

Fournit un itérateur qui fonctionne en deux temps :<br />

il parcourt les éléments de l’itérable et envoie chaque élément au callable<br />

prédicat. La boucle s’arrête dès que prédicat renvoie False ou que la séquence<br />

se termine. Dans le cas où prédicat renvoie False, l’élément déclencheur est le<br />

premier renvoyé par l’itérateur.<br />

Il fournit ensuite un itérateur classique sur tous les éléments suivants de la boucle.<br />

Déclencheur<br />

>>> import itertools<br />

>>> def watcher(element):<br />

... return element != "c'est lui!"<br />

...<br />

>>> iter = itertools.dropwhile(watcher,<br />

... ["c'est moi", "c'est eux",<br />

... "c'est lui!", "c'est nous"])<br />

>>> iter.next()<br />

"c'est lui!"<br />

>>> iter.next()<br />

"c'est nous"<br />

>>> iter.next()<br />

Traceback (most recent call last):<br />

File "", line 1, in ?<br />

StopIteration<br />

Cette forme d’itérateur permet de travailler avec une sous-séquence.<br />

groupby(itérable[, keyfunc]) -> itérateur<br />

Renvoie un itérateur qui récupère des couples (clé, groupe). keyfunc est une fonction<br />

qui doit renvoyer la clé pour l’élément courant. groupe est un itérable qui réunit<br />

les éléments regroupés par clé.<br />

313

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!