"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment trier des listes de listes avec un ordre mixte ?

Comment trier des listes de listes avec un ordre mixte ?

Publié le 2024-11-08
Parcourir:590

How to Sort Lists of Lists with Mixed Ordering?

Tri des listes de listes avec un ordre mixte

Étant donné une liste de listes comportant deux éléments, les trier dans un ordre spécifique peut être difficile. Généralement, le tri est effectué selon un seul critère. Cependant, dans ce cas, nous devons trier en fonction du premier élément par ordre décroissant et du deuxième élément par ordre croissant.

Pour réaliser ce tri mixte, nous pouvons utiliser les fonctions lambda et la méthode de tri en Python. L'argument clé de la méthode sort prend une fonction qui détermine l'ordre de tri. La fonction que nous fournissons prendra en compte les deux éléments de chaque liste.

Pour créer une clé combinée qui gère les deux éléments, nous pouvons utiliser la fonction lambda suivante :

lambda k: (k[0], -k[1])

Ici, nous utilisons un tuple pour combiner les deux éléments. Le premier élément représente le premier élément de la liste et le deuxième élément est le négatif du deuxième élément. Cette négation garantit l'ordre décroissant pour le deuxième élément.

Maintenant, nous pouvons utiliser cette fonction lambda dans la méthode de tri :

L.sort(key=lambda k: (k[0], -k[1]), reverse=True)

L'argument reverse=True spécifie que le tri doit être effectué dans l'ordre inverse, ce qui correspond à notre exigence d'ordre décroissant pour le premier élément.

En conséquence, la liste L sera triée avec le premier élément décroissant et le deuxième élément ascendant :

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729499538. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3