Trier une liste par rapport à une autre
PierrotLeFou -
Bonjour,
Je fais un jeu de pendu avec des listes pour un travail en NSI, et tout marche sauf que j'ai besoin de trier une liste ayant exactement les mêmes éléments qu'une autre pour que la première aient ses éléments dans le même ordre que la seconde
Exemple :
liste1 = [1,5,4,2,3] liste2 = [5,4,3,2,1] #Je voudrais que : liste1 = [5,4,3,2,1]
3 réponses
-
Bonjour,
Si :
ayant exactement les mêmes éléments qu'une autre pour que la première aient ses éléments dans le même ordre que la seconde
Dans ce cas
liste1 = [1,5,4,2,3] liste2 = [5,4,3,2,1] liste1 = liste2 // Ta liste 1 aura les mêmes éléments..dans le même ordre que ta liste 2
-
C'est un genre de index sort?
https://www.geeksforgeeks.org/python-returning-index-of-a-sorted-list/
Ça se fait également à la main avec un tri simple qu'on code soi-même (comme le tri par sélection) -
Si c'est vraiment ce que tu veux faire, il y a un autre truc:
liste1 = [1, 5, 4, 2, 3]
liste2 = [5, 4, 3, 2, 1]
liste1, liste2 = zip(*sorted(zip(liste1, liste2), reverse=True))
liste1 = list(liste1)
liste2 = list(liste2)
print(liste1)
print(liste2)
[5, 4, 3, 2, 1]
[4, 3, 1, 2, 5]