Maison > développement back-end > Tutoriel Python > Comment trier les listes Python par plusieurs champs ?

Comment trier les listes Python par plusieurs champs ?

DDD
Libérer: 2024-11-21 07:38:10
original
238 Les gens l'ont consulté

How to Sort Python Lists by Multiple Fields?

Tri multi-champs dans les listes Python

En Python, trier une liste par un seul champ est simple à l'aide de la fonction sorted() et le paramètre clé. Cependant, que se passe-t-il si vous devez trier sur plusieurs champs ?

Pour trier une liste sur deux champs, vous pouvez utiliser la puissance des fonctions lambda. Voici comment procéder :

list1 = sorted(csv1, key=operator.itemgetter(1))
Copier après la connexion

Ce code trie la liste par la valeur du champ 1. Pour trier par la valeur du champ 1 puis par la valeur du champ 2, utilisez une fonction lambda :

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

Cette fonction lambda crée un tuple contenant les valeurs du champ 1 et du champ 2 pour chaque élément de la liste. La fonction sorted() trie ensuite la liste par le premier élément du tuple (champ 1) puis par le deuxième élément (champ 2).

Alternativement, vous pouvez trier par un champ ascendant et un autre décroissant :

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

Ce code trie selon la valeur du champ 1 par ordre croissant et la valeur dans le champ 2 par ordre décroissant.

Pas besoin d'importer des modules supplémentaires lors de l'utilisation des fonctions lambda. Cette méthode offre un moyen flexible et efficace de trier les listes Python par plusieurs champs en fonction de vos besoins spécifiques.

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