Maison  >  Article  >  développement back-end  >  Comment trier une liste de listes par ordre décroissant et croissant ?

Comment trier une liste de listes par ordre décroissant et croissant ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-21 17:24:02437parcourir

How to Sort a List of Lists in Descending and Ascending Order?

Tri d'une liste de listes par ordre décroissant et croissant

Étant donné une liste de listes à deux éléments, le but est de trier les listes d'abord par ordre décroissant en fonction du premier élément, puis par ordre croissant en fonction du deuxième élément.

Pour y parvenir, nous pouvons utiliser la méthode sort() avec une fonction clé personnalisée. Voici une solution :

<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]]
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>

L'argument clé de la méthode sort() spécifie une fonction qui détermine l'ordre de tri. Dans ce cas, nous définissons une fonction lambda qui prend une liste k et renvoie un tuple. Le premier élément du tuple est le premier élément de la liste k[0], qui est utilisé pour le tri décroissant. Le deuxième élément est la négation du deuxième élément de la liste -k[1], qui est utilisé pour le tri ascendant.

En triant d'abord par ordre décroissant, reverse=True garantit que le premier élément de chaque liste (« a » ou « b ») est trié par ordre alphabétique inverse. Par la suite, le tri ascendant du deuxième élément aboutit à une liste globale triée comme :

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]

Cela permet effectivement d'atteindre le critère de tri 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!

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