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.

180<br />

Éléments du langage<br />

DEUXIÈME PARTIE<br />

>>> my_liste[2:5:1]<br />

[3, 4, 5]<br />

>>> my_liste[1:2:1]<br />

[2]<br />

>>> my_liste[1:4:1]<br />

[2, 3, 4]<br />

>>> my_liste[1:4:2]<br />

[2, 4]<br />

sorted : sorted(iterable, cmp=None, key=None, reverse=False) -> liste<br />

triée<br />

Renvoie une liste d’éléments triés en fonction des éléments de l’objet itérable fourni.<br />

sorted() utilise une fonction de comparaison à laquelle il passe les éléments deux à<br />

deux de l’itérable :<br />

Si cmp est fourni, la fonction est utilisée pour comparer les éléments deux à deux<br />

dans l’algorithme de tri. cmp(element1, element2) doit renvoyer -1, 0 ou 1.<br />

Si key est fourni, elle pointe sur une fonction qui sera utilisée au moment des<br />

appels aux éléments dans la fonction de comparaison : chaque élément sera transformé<br />

par key(element) avant la comparaison.<br />

Lorsque key n’est pas fourni, ce sont les éléments qui sont directement passés à la<br />

fonction de comparaison. Enfin, lorsque cmp n’est pas fourni, sorted() utilise une<br />

fonction de comparaison générique.<br />

reverse permet d’inverser le résultat obtenu.<br />

Combinaisons possibles pour sorted<br />

>>> def cmp(elt1, elt2):<br />

... if elt1 > elt2:<br />

... res = -1<br />

... elif elt1 < elt2:<br />

... res = 1<br />

... else:<br />

... res = 0<br />

... print('cmp(%s, %s) = %s'%(elt1, elt2, res))<br />

... return res<br />

...<br />

>>> def key(elt):<br />

... res = -ord(elt)<br />

... print("key('%s') = %s"%(elt, res))<br />

... return res<br />

...

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

Saved successfully!

Ooh no, something went wrong!