Sắp xếp các hàng của ma trận theo giá trị lớn nhất (max) trong mỗi hàng, giảm dần. Sử dụng max() làm key và reverse=True.
Mã nguồn
def sort_max(row):
return max(row)
my_list = [[15, 27, 18], [39, 20, 13], [13, 15, 56], [43, 13, 25]]
print("Ma trận gốc:", my_list)
my_list.sort(key=sort_max, reverse=True)
print("Ma trận sau sắp xếp:", my_list)
Kết quả
Ma trận gốc: [[15, 27, 18], [39, 20, 13], [13, 15, 56], [43, 13, 25]] Ma trận sau sắp xếp: [[13, 15, 56], [43, 13, 25], [39, 20, 13], [15, 27, 18]]
Giải thích
- Hàm
sort_maxtrả vềmax(row). - Giá trị max: 27, 39, 56, 43.
reverse=Truesắp xếp giảm dần: 56, 43, 39, 27.- Hàng [13,15,56] (max=56) → đầu. Hàng [15,27,18] (max=27) → cuối.
Cách ngắn gọn
my_list.sort(key=max, reverse=True)
Dùng trực tiếp built-in max làm key function.
Sắp xếp theo min, sum, len
my_list.sort(key=min) # Theo phần tử nhỏ nhất
my_list.sort(key=sum) # Theo tổng hàng
my_list.sort(key=len) # Theo độ dài hàng