Powiel możliwe:
python: how to sort a complex list on two different keysSortowanie listy krotek w zależności od dwóch elementów
Mam listę krotek. Chcę je posortować w zależności od dwóch elementów. Tutaj jest następujący przykład
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)]
wiem jak sortować je na drugim elemencie:
sorted(unsorted, key = lambda element : element[1])
Ale jak to zrobić z dwoma kluczami?
Sortowanie wykonane przez Pythona jest stabilne, co oznacza, że można go sortować dwa razy, najpierw na najmniej ważnym elemencie, a następnie na najważniejszym elemencie. W niektórych przypadkach może to być w rzeczywistości szybsze (ale tylko kilka razy). –