Khi cần sắp xếp ma trận chuỗi theo độ dài chuỗi lớn nhất trong mỗi hàng, ta định nghĩa hàm dùng list comprehension, max() và len().
Ví dụ
def max_length(row):
return max([len(element) for element in row])
my_matrix = [['pyt', 'fun'], ['python'], ['py', 'cool'], ['py', 'ea']]
print("Ma trận ban đầu:")
print(my_matrix)
my_matrix.sort(key=max_length)
print("Kết quả:")
print(my_matrix)
Kết quả
Ma trận ban đầu: [['pyt', 'fun'], ['python'], ['py', 'cool'], ['py', 'ea']] Kết quả: [['py', 'ea'], ['pyt', 'fun'], ['py', 'cool'], ['python']]
Giải thích
Hàm
max_lengthtính độ dài mỗi chuỗi trong hàng, trả về max.Định nghĩa ma trận chuỗi và hiển thị.
Sắp xếp với
key=max_length.In kết quả: hàng có chuỗi dài nhất nhỏ nhất đứng trước.