Maison  >  Article  >  développement back-end  >  Comment trier une liste avec une clé dans l'ordre inverse et l'autre sans tenir compte de la casse en Python ?

Comment trier une liste avec une clé dans l'ordre inverse et l'autre sans tenir compte de la casse en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 05:09:29370parcourir

How to Sort a List with One Key in Reverse Order and the Other Case-Insensitively in Python?

Tri d'une liste avec une clé dans l'ordre inverse et l'autre casse sans sensibilité

Python fournit diverses méthodes pour trier les listes, y compris le tri par plusieurs clés. Cependant, les fonctions de tri standard peuvent ne pas toujours offrir la flexibilité souhaitée.

Considérez une liste contenant des tuples avec plusieurs éléments, tels que [(ele1A, ele2A), (ele1B, ele2B), (ele1C, ele2C)] . Pour trier cette liste en fonction de deux clés, l'une par ordre croissant et l'autre par ordre décroissant, tout en garantissant l'insensibilité à la casse dans une clé, vous devez utiliser une approche de tri légèrement personnalisée.

Fonction sorted() de Python vous permet de spécifier une clé de tri personnalisée via une fonction lambda. En utilisant cette fonctionnalité, vous pouvez trier la liste comme suit :

<code class="python"># Sort by the first key in ascending order and the second key in descending order
sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))

# Or, sort by the first key in descending order and the second key in ascending order
sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))

# Or, sort by both keys in descending order
sortedList = sorted(myList, key = lambda y: (-y[0].lower(), -y[1]))</code>

En annulant la valeur de la deuxième clé (-y[1]) dans la fonction lambda, vous la triez effectivement dans l'ordre inverse. De plus, vous utilisez lower() sur la première clé pour garantir l'insensibilité à la casse lors de l'exécution du tri.

Cette approche vous permet de trier votre liste de manière flexible en fonction de critères complexes, vous permettant ainsi de gérer efficacement les exigences de tri 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!

Déclaration:
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