Trier une liste par rapport à une autre

Fermé
SenLie_ Messages postés 12 Date d'inscription mardi 1 novembre 2022 Statut Membre Dernière intervention 24 mai 2024 - Modifié le 8 mars 2023 à 15:42
 PierrotLeFou - 9 mars 2023 à 00:50

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 38195 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 mai 2024 4 675
8 mars 2023 à 15:44

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
8 mars 2023 à 19:04

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
9 mars 2023 à 00:50

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