Maison > développement back-end > Tutoriel Python > Comment puis-je trier une liste Python par plusieurs champs ?

Comment puis-je trier une liste Python par plusieurs champs ?

DDD
Libérer: 2024-11-18 08:35:02
original
1050 Les gens l'ont consulté

How Can I Sort a Python List by Multiple Fields?

Tri d'une liste Python par plusieurs champs

Lorsque vous travaillez avec des listes triées, il peut être nécessaire de trier selon plusieurs critères. Cela devient important lorsqu'il y a des liens dans la première clé de tri et que vous souhaitez les rompre à l'aide d'une deuxième clé.

Pour trier une liste par deux champs en Python, vous pouvez utiliser les fonctions lambda avec la fonction sorted() fonction. Cela vous permet de spécifier plusieurs clés de tri dans une seule expression.

list1 = sorted(csv1, key=lambda x: (x[0], x[1]))
Copier après la connexion

Dans cet exemple, la liste est triée par la valeur du champ 1, puis par la valeur du champ 2. La fonction lambda prend l'élément en entrée et renvoie un tuple de la première valeur de champ et de la deuxième valeur de champ. La fonction sorted() trie ensuite la liste en fonction des tuples renvoyés.

Vous pouvez également utiliser cette technique pour trier par un champ ascendant et un autre champ décroissant :

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))
Copier après la connexion

Dans cet exemple , la liste est triée par la première valeur de champ, puis par la deuxième valeur de champ par ordre décroissant (en raison du signe négatif). Cela peut être utile lorsque vous souhaitez trier selon les valeurs les plus élevées du deuxième champ pour chaque valeur unique du premier champ.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal