Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-21 17:24:02
original
616 Les gens l'ont consulté

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>
Copier après la connexion

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]]
Copier après la connexion

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!

source:php
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