Khi cần tìm K bản ghi nhỏ nhất từ một list các tuple, có thể dùng phương thức sorted và hàm lambda.
Phương thức sorted dùng để sắp xếp các phần tử của list. Hàm ẩn danh (anonymous function) là hàm được định nghĩa không có tên. Trong Python, hàm thường dùng từ khóa def, nhưng hàm ẩn danh dùng từ khóa lambda. Nó nhận một biểu thức đơn nhưng có thể nhận nhiều đối số. Nó dùng biểu thức và trả về kết quả.
List có thể lưu trữ các giá trị khác kiểu. List of tuple về cơ bản chứa các tuple được bao quanh bởi một list.
Dưới đây là ví dụ minh họa:
Ví dụ
my_list = [(67, 'Will'), (34, 'Mark'), (99, 'Dev'), (2, 'Paul')]
print("Danh sách là:")
print(my_list)
K = 3
print("Giá trị 'K' đã được khởi tạo")
my_result = sorted(my_list, key=lambda x: x[1])[:K]
print("Các " + str(K) + " bản ghi nhỏ nhất là:")
print(my_result)Kết quả
Danh sách là: [(67, 'Will'), (34, 'Mark'), (99, 'Dev'), (2, 'Paul')] Giá trị 'K' đã được khởi tạo Các 3 bản ghi nhỏ nhất là: [(99, 'Dev'), (34, 'Mark'), (2, 'Paul')]
Giải thích
- Định nghĩa list of tuples và hiển thị trên bảng điều khiển.
- Khởi tạo giá trị K.
- Dùng
sortedđể sắp xếp list of tuples dựa trên lambda function được định nghĩa bên trong. - Gán phép toán cho một biến.
- Hiển thị biến này trên bảng điều khiển.