Duplicata possible:
python: comment trier une liste complexe sur deux clés différentes
J'ai une liste de tuples. Je veux les trier en fonction de deux éléments. Voici l'exemple suivant
unsorted = [('a', 4, 2), ('a', 4, 3), ('a', 7, 2), ('a', 7, 3), ('b', 4, 2), ('b', 4, 3), ('b', 7, 2), ('b', 7, 3)]
sorted = [('a', 4, 2), ('b', 4, 2), ('a', 4, 3), ('b', 4, 3), ('a', 7, 2), ('b', 7, 2), ('a', 7, 3), ('b', 7, 3)]
Je sais comment les trier sur le deuxième élément:
sorted(unsorted, key = lambda element : element[1])
Mais comment faire ça avec deux clés?
sorted(unsorted, key=lambda element: (element[1], element[2]))
J'ai supposé un ordre pour les clés de l'exemple de sortie.