Tri d'une liste avec deux clés, une dans l'ordre inverse
En Python, trier une liste de tuples par deux clés est simple. Cependant, il peut y avoir des cas où vous devez trier une clé par ordre croissant et une autre clé par ordre décroissant.
Supposons que vous ayez une liste avec des tuples comme :
<code class="python">myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]</code>
Pour trier ceci liste en utilisant deux clés, vous pouvez utiliser sorted() :
<code class="python">sortedList = sorted(myList, key=lambda y: (y[0].lower(), y[1]))</code>
Ce code trie la liste par la première clé par ordre croissant et la deuxième clé dans ordre croissant.
Pour trier la liste dans l'ordre inverse pour une clé, vous pouvez utiliser un signe négatif :
<code class="python">sortedList = sorted(myList, key=lambda y: (y[0].lower(), -y[1]))</code>
Ici, la première clé est toujours triée par ordre croissant, mais la la deuxième clé est triée par ordre décroissant.
Vous pouvez essayer les extraits de code suivants pour voir les différents résultats de tri :
<code class="python">sortedList = sorted(myList, key=lambda y: (y[0].lower(), -y[1])) sortedList = sorted(myList, key=lambda y: (-y[0].lower(), y[1])) sortedList = sorted(myList, key=lambda y: (-y[0].lower(), -y[1]))</code>
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!