nếu tôi có một danh sách có chứa một danh sách giống như thế này ...Python danh sách loại danh sách/tăng dần và sau đó decending
['a',1] ['a',2] ['a',3] ['b',1] ['b',2] ['b',3]
làm thế nào tôi có thể sắp xếp chúng sao cho phần tử 0 được sắp xếp giảm dần và yếu tố 1 được sắp xếp tăng dần nên kết quả sẽ như thế nào ...
['b',1] ['b',2] ['b',3] ['a',1] ['a',2] ['a',3]
Sử dụng itemgetter
tôi có thể vượt qua trong ngược trên phần tử 0 nhưng sau đó tôi tôi nghỉ mát chống lại yếu tố để tất nhiên nó tàn tích các loại trước đó. Tôi không thể làm một phím kết hợp vì nó cần phải sắp xếp thứ tự giảm dần và sau đó tăng dần.
TIA, PK
Sẽ chấp nhận ngay khi nó cho phép tôi. Đây chính xác là những gì tôi cần. Tôi đang làm việc trên một vị trí bin/kho định tuyến vấn đề cho danh sách lựa chọn trong kho của chúng tôi và điều này đã làm các trick. Nếu bạn có thời gian, bạn có thể giải thích "lambda k: (k [0], - k [1])" là gì? Dấu âm có nghĩa ngược lại không? Tôi có thể nhận được kết quả tương tự với lambda k: (-k [0], k [1]) mà không có đối số ngược lại không? – Ominus
@Ominus: '-k [1]' lật dấu trên số nguyên đảo ngược thứ tự sắp xếp tự nhiên của chúng. Bạn không thể làm '-k [0]' vì giá trị đó là một chuỗi. Vì vậy, 'reverse = True' đảo ngược thứ tự sắp xếp và' -k [1] 'hủy bỏ sự đảo ngược trên phần tử thứ hai. –