Trier une liste par rapport à une autre

SenLie_ Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
 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]
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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

0
PierrotLeFou
 

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)

0
PierrotLeFou
 

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]

0