895 votes

Comment trier (liste/tuple) de listes/tuples ?

J’ai quelques données dans la liste contient les listes ou liste contient des tuples.

Et je veux Trier par le 2e élément du sous-ensemble. Ce qui signifie, Tri par 2,5,8 où 2 est de (1,2,3), 5 provient (4,5,6). Quelle est la façon commune de faire cela ? Dois-je conserver les tuples ou listes dans ma liste ? Étant donné que les tuples sont plus rigides. Merci.

1484voto

Stephen Points 16714
<pre><code></code><p>ou :</p><pre><code></code></pre></pre>

306voto

manova Points 308
from operator import itemgetter
data.sort(key=itemgetter(1))

30voto

tcarobruce Points 2318

Stephen réponse est celle que je voudrais utiliser. Pour être complet, voici la DSU (décorer-tri-undecorate) motif avec des interprétations de la liste:

decorated = [(tup[1], tup) for tup in data]
decorated.sort()
undecorated = [tup for second, tup in decorated]

Ou, plus sèchement:

[b for a,b in sorted((tup[1], tup) for tup in data)]

Comme indiqué dans le Python de Tri HowTo, cela a été inutile puisque Python 2.4, lorsque les principales fonctions sont devenues disponibles.

-2voto

Bastin Robin Points 101

Un moyen simple pour trier une liste ou un tuple est très simple. Utilisez la méthode trié ou tri inbuild

-4voto

Jayr Points 21

Pour avoir un topple tri est très simple :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X