Bonjour,

J'ai 2 listes de tailles identiques, la premiere contient mes elements :
[[2,5],[3,7],[8,2]]
et la deuxieme contient une valeur qui correspond à ces éléments :
[3,4,2]

J'aimerais donc trier la premiere liste en fonction des valeurs contenues dans la deuxieme liste.

Je me suis penché du coté de sort :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
# Essai pour voir ce qui s'affiche...
def compare(self,x,y):
        print self.liste1.index(x)
        return 0
que j'appelle donc par self.liste1.sort(self.compare)

C'est juste un exemple, c'est pas ce que je mettrais bien sur dans ma fonction compare mais j'ai besoin de index mais ca ne fonctionne pas, j'ai une erreur "ValueError: list.index(x): x not in list"

Bon je comprends très bien ce que signifie l'erreur mais le x est bien présent dans la liste.
Par exemple, je fais afficher que le x dans la fonction compare, la ca fonctionne, c'est bien un élément de la liste.

J'ai également essayé dans une console python sans rien d'autre avec une liste "bidon", on peut recherche un élément qui est une sous liste mais dans mon cas dans une classe je ne comprends pas pourquoi ca ne fonctionne pas... quelqu'un a une idée svp ?

J'ai essayé aussi a la suite comme ca :
self.liste1.index(self.liste1[2]) => me retourne bien 2...

Qu'est-ce qui est mis exactement dans le x ? Je ne comprends pas pourquoi ca ne fonctionne pas...

Merci
Bonne soirée