Comment trier une liste imbriquée par ordre croissant et décroissant
En Python, vous pouvez rencontrer des situations où vous avez une liste qui contient des sous-listes , et vous devez les trier d'une manière spécifique, par exemple en triant le premier élément par ordre décroissant et le deuxième élément par ordre croissant.
Pour y parvenir, vous pouvez utiliser l'argument clé dans le sort() fonction. Cet argument vous permet de spécifier comment les éléments doivent être comparés pour le tri. Dans ce cas, nous avons besoin d'une fonction de tri personnalisée :
<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é prend une fonction lambda comme valeur. Cette fonction reçoit un élément k représentant une sous-liste, et renvoie un tuple : (k[0], -k[1]).
En spécifiant reverse=True, nous trions la liste résultante par ordre décroissant en fonction des tuples renvoyés par la fonction lambda.
Comme En conséquence, la liste L contient désormais :
<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
Cette démonstration montre comment trier efficacement une liste imbriquée à l'aide d'une fonction de tri personnalisée basée sur l'argument clé de la fonction sort().
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!