17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

316<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

izip_longest(*itérables, [fillvalue=None]) -> itérateur<br />

izip_longest est une variation d’izip, qui continue tant que tous les itérateurs ne<br />

sont pas vidés. Lorsqu’un itérateur ne fournit plus d’éléments, c’est fillvalue qui est<br />

utilisé. Par défaut, il est à None.<br />

Combinaisons de séquences avec izip_longest<br />

>>> import itertools<br />

>>> iter = itertools.izip_longest('abc', 'def', 'g', 'hijk')<br />

>>> list(iter)<br />

[('a', 'd', 'g', 'h'), ('b', 'e', None, 'i'), ('c', 'f', None, 'j'),<br />

(None, None, None, 'k')]<br />

>>> iter = itertools.izip_longest('abc', 'def', 'g', 'hijk',<br />

fillvalue='z')<br />

>>> list(iter)<br />

[('a', 'd', 'g', 'h'), ('b', 'e', 'z', 'i'),<br />

('c', 'f', 'z', 'j'), ('z', 'z', 'z', 'k')]<br />

repeat(élément, nb_occurences) -> itérateur<br />

Génère un itérateur qui répète élément nb_occurences fois. Si nb_occurences n’est<br />

pas fourni, devient un itérateur infini qui renvoie toujours element.<br />

3 fois 3<br />

>>> import itertools<br />

>>> iter = itertools.repeat('3', 3)<br />

>>> list(iter)<br />

['3', '3', '3']<br />

starmap(fonction, séquence) -> itérateur<br />

Comparable à imap() mais le deuxième argument doit être une séquence de tuples.<br />

À chaque itération n, l’itérateur renvoie le résultat de fonction(*séquence[n]).<br />

Tuples prêts à l’emploi<br />

>>> import itertools<br />

>>> def fonc(*elements):<br />

... print(str(elements))<br />

...<br />

>>> st = itertools.starmap(fonc, [('a',), (1, 2), (None,)])<br />

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

('a',)

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

Saved successfully!

Ooh no, something went wrong!