Trier une liste par plusieurs attributs?

J'ai une liste de listes:

[[12, 'tall', 'blue', 1],
[2, 'short', 'red', 9],
[4, 'tall', 'blue', 13]]

Si je voulais trier par un élément, dire le grand et court élément, je pourrais le faire via s = sorted(s, key = itemgetter(1)).

Si je voulais trier par les deux grand et court et de couleur, je pourrais faire le tri à deux reprises, une fois pour chaque élément, mais est-il un moyen plus rapide?

  • Liées PPCG question
  • Si vous utilisez tuples au lieu de listes, python commandes sortes par des entrées de gauche à droite lorsque vous exécutez sort. C'est, sorted([(4, 2), (0, 3), (0, 1)]) == [(0, 1), (0, 3), (4, 2)].
InformationsquelleAutor headache | 2010-11-20