Rechercher : dans
Par :

[Python] fonction de comparaison

Dernière réponse le 27 nov 2008 à 11:34:23 tinoeldorados, le 27 nov 2008 à 10:23:35 
 Signaler ce message aux modérateurs

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 ....

Configuration: Linux Suse
Firefox 2.0.0.6

Meilleures réponses pour « [Python] fonction de comparaison » dans :
Les comparateurs de prix VoirUtiliser des comparateurs de prix Fonctionnement du comparateur de prix Utiliser un comparateur sans être abusé Comparateurs spécialisés Comparateurs généralistes Comparateurs alternatifs Un
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Télécharger PSPad VoirPSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS, Javascript, php ou autres langages de programmation (C++, Java, Python...). Les fonctionnalités sont impressionnantes: ...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

kilian, le 27 nov 2008 à 11:18:37

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. Le gâteau est un mensonge!

Répondre à kilian

2

 tinoeldorados, le 27 nov 2008 à 11:34:23

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

Répondre à tinoeldorados
Collection CommentÇaMarche.net