Maison > développement back-end > Tutoriel Python > Comment trier une liste de chaînes en fonction des valeurs dans une liste parallèle ?

Comment trier une liste de chaînes en fonction des valeurs dans une liste parallèle ?

Mary-Kate Olsen
Libérer: 2024-12-14 22:15:14
original
461 Les gens l'ont consulté

How to Sort a List of Strings Based on Values in a Parallel List?

Tri d'une liste en fonction des valeurs d'une liste parallèle

Considérez le scénario suivant : vous avez une liste de chaînes, X, et une liste de valeurs correspondante, Y . Votre tâche consiste à trier X en utilisant les valeurs de Y. Par exemple, étant donné :

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,   0,   1,   2,   2,   0,   1 ]
Copier après la connexion

Vous souhaitez obtenir le tri. sortie :

["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Copier après la connexion

Bien que les approches traditionnelles utilisant des boucles soient viables, une solution concise existe :

[x for _, x in sorted(zip(Y, X))]
Copier après la connexion

Ce code :

  1. Zips les deux listes, Y et X, créant une liste de tuples : [(0, 'a'), (1, 'b'), ... (2, 'g')].
  2. Trie la liste compressée en utilisant les valeurs de Y comme clé de tri.
  3. Extrait la seconde élément de chaque tuple (les chaînes) en utilisant une compréhension de liste.

Le résultat est une liste triée de cordes dans l'ordre souhaité.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal