Comment trier des listes de listes avec un ordre mixte ?

Linda Hamilton
Libérer: 2024-10-21 16:33:29
original
514 Les gens l'ont consulté

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 :

<code class="python">lambda k: (k[0], -k[1])</code>
Copier après la connexion

Ici, nous sommes en utilisant 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 assure l'ordre décroissant pour le deuxième élément.

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

<code class="python">L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
Copier après la connexion

L'argument reverse=True précise 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 :

<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!