thể trùng lặp:
How to write Python sort key functions for descending valuesSắp xếp theo nhiều phím sử dụng orderings khác nhau
Trong Python 3, nó khá dễ dàng để sắp xếp một danh sách các đối tượng tự từ điển sử dụng nhiều phím. Ví dụ:
items.sort(key = lambda obj: obj.firstname, obj.lastname)
Đối số reverse
cho phép bạn xác định xem bạn muốn tăng dần hoặc giảm dần. Nhưng bạn làm gì trong trường hợp bạn muốn sắp xếp theo nhiều khóa, nhưng bạn muốn sắp xếp bằng cách sử dụng thứ tự giảm dần cho khóa đầu tiên và thứ tự tăng dần cho lần thứ hai?
Ví dụ, giả sử chúng ta có một đối tượng với hai thuộc tính, points
và name
, nơi points
là một int
và name
là một str
. Chúng tôi muốn sắp xếp danh sách các đối tượng này theo số points
trong giảm dần đơn đặt hàng (để đối tượng có số điểm lớn nhất đến trước), nhưng đối với các đối tượng có số lượng bằng points
, chúng tôi muốn sắp xếp chúng theo name
bằng chữ cái (tăng dần) đơn đặt hàng.
Làm cách nào để đạt được điều này?
Ints là trường hợp đặc biệt, trong đó bạn chỉ có thể sử dụng số âm để đặt hàng ngược lại. Tôi muốn được quan tâm nhiều hơn trong trường hợp cả hai đều là dây. –