lst = [(1,(1,3,5)), (5,(2,3,4)),(3,(2,3,4))] I want to sort by the first value, descending order.
5 Réponses :
sorted(list, reverse=True, key=lambda x: x[0]) Note also that "list" isn't a great name for your list because it's the built-in list type.
import operator sorted(lst, reverse=True, key=operator.itemgetter(0))
Tout comme ceci:
à tous les autres répondeurs: l'index n'est pas requis. Python trie toujours des listes par le premier élément qu'il trouve.
En fait, Python compare les tuples par ordre lexicographique, de sorte qu'il ne trie pas seulement les listes / tuples par leurs premiers éléments. Cette distinction est importante si un tri "stable" par premier élément est souhaité.
Vous pouvez trier comme ça.
Trier en place? Utilisation:
lst.sort(reverse=True)