Maison >développement back-end >Tutoriel Python >Comment puis-je trier une liste en fonction des valeurs d'une liste correspondante ?
Tri d'une liste par valeurs correspondantes à partir d'une liste parallèle
Dans ce scénario, vous avez deux listes, X et Y, où chaque élément dans Y correspond à une valeur associée à l'élément dans X. Votre objectif est de trier la liste X en fonction des valeurs de la liste Y.
Une approche efficace pour y parvenir, il faut utiliser une compréhension de liste avec les fonctions zip() et sorted() :
[x for _, x in sorted(zip(Y, X))]
Décomposons cet extrait de code :
Exemple :
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] result = [x for _, x in sorted(zip(Y, X))] print(result) # ['a', 'd', 'h', 'b', 'c', 'e', 'i', 'f', 'g']
Ce code affichera la liste triée selon le valeurs correspondantes dans la liste Y : ["a", "d", "h", "b", "c", "e", "i", "f", "g"].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!