Comment trier des listes de listes dans un ordre alterné en Python ?

Susan Sarandon
Libérer: 2024-10-21 16:56:02
original
338 Les gens l'ont consulté

How to Sort Lists of Lists in Alternating Order in Python?

Tri des listes de listes dans un ordre alterné

Étant donné une liste contenant des sous-listes au format [['a',1], [' a',2], ['a',3], ['b',1], ['b',2], ['b',3]], le but est de trier ces sous-listes de manière alternée , avec l'élément 0 trié par ordre décroissant et l'élément 1 trié par ordre croissant. Le résultat attendu est [['b',1], ['b',2], ['b',3], ['a',1], ['a',2], ['a', 3]].

Pour y parvenir, on peut exploiter la fonction sort() avec une clé personnalisée. La clé est une fonction lambda qui extrait les éléments d'intérêt et leur applique une opération de tri. Dans ce cas, il récupère le premier élément de chaque sous-liste, applique un tri décroissant, puis le combine avec le négatif du deuxième élément, trié par ordre croissant. En inversant l'ordre de tri avec reverse=True, les sous-listes sont triées par ordre décroissant par le premier élément et par ordre croissant par le deuxième élément. Il en résulte l'ordre alterné souhaité.

L'extrait de code suivant illustre la 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)

print(L)
# [['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!