Giả sử chúng ta có một danh sách 2d chứa thông tin về các vận động viên. Thông tin này là cấp bậc, tuổi, chiều cao. Mỗi hàng chứa thông tin cho các vận động viên khác nhau. Chúng ta cũng có một số k khác. Chúng ta phải sắp xếp dữ liệu dựa trên thuộc tính kth.
Vì vậy, nếu đầu vào giống như
Xếp hạng | tuổi | height |
---|---|---|
1 | 25 | 190 |
2 | 35 | 180 |
3 | 33 | 185 |
4 | 26 | 175 |
5 | 35 | 180 |
Và k =1.
thì đầu ra sẽ là
Xếp hạng | tuổi | height |
---|---|---|
1 | 25 | 190 |
4 | 26 | 175 |
3 | 33 | 185 |
2 | 35 | 180 |
5 | 35 | 180 |
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
Gọi hàm sort () cho mảng 2d được gọi là thông tin
-
xác định một hàm sắp xếp dựa trên đối số thứ k và chuyển nó vào tham số chính của hàm sort ().
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn
def solve(info, k): info.sort(key = lambda x: x[k]) return info info = [[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]] k = 1 print(solve(info, k))
Đầu vào
[[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]], 1
Đầu ra
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]