thể trùng lặp:
python: how to sort a complex list on two different keysSắp xếp một danh sách các hàng phụ thuộc vào hai yếu tố
Tôi đã có một danh sách các hàng. Tôi muốn sắp xếp chúng tùy thuộc vào hai yếu tố. Dưới đây là ví dụ sau
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)]
Tôi biết làm thế nào để sắp xếp chúng vào các yếu tố thứ hai:
sorted(unsorted, key = lambda element : element[1])
Nhưng làm thế nào để làm điều đó với hai phím?
Việc phân loại được thực hiện bởi Python là ổn định, có nghĩa là bạn có thể sắp xếp nó hai lần, trước tiên trên phần tử quan trọng nhất, sau đó trên phần tử quan trọng nhất. Trong một số trường hợp, điều này thực tế có thể nhanh hơn (nhưng chỉ một số lần). –