[Python] fonction de comparaison
Résolu
tinoeldorados
-
tinoeldorados -
tinoeldorados -
Bonjour,
Voici une ligne d'un code python et je n'arrive pas a la comprendre :
son effet semble : etre de trier des propositions en fonction d'un critere
mais je ne trouve pas le critere ??
self.comp1=lambda tuple1, tuple2 : cmp((-tuple1[1], tuple1[0]) , (-tuple2[1], tuple2[0]))
Merci àd'avance ceux qui m'aideront ....
Voici une ligne d'un code python et je n'arrive pas a la comprendre :
son effet semble : etre de trier des propositions en fonction d'un critere
mais je ne trouve pas le critere ??
self.comp1=lambda tuple1, tuple2 : cmp((-tuple1[1], tuple1[0]) , (-tuple2[1], tuple2[0]))
Merci àd'avance ceux qui m'aideront ....
Configuration: Linux Suse Firefox 2.0.0.6
2 réponses
-
Salut,
self.comp1=lambda tuple1, tuple2 : cmp((-tuple1[1], tuple1[0]) , (-tuple2[1], tuple2[0]))
Lambda permet de créer des fonctions à la volée.
En fait ici, s'il fallait retraduire avec une fonction statique, ça donnerait ça:
def mafunc(tuple1, tuple2): return cmp((-tuple1[1], tuple1[0]) , (-tuple2[1], tuple2[0])) self.comp1 = mafunc
Ensuite, tu peux appeller self.comp1(arg1, arg2) quand tu veux. -
merci pour cette explication du lambda ...
Et concernant la seconde partie de la ligne ...
elle permet de classer les element du tuple en fonction de la seconde varaible du Tuple ... tout simplement
Merci