Khi cần trích xuất tuple có phần tử nằm trong một khoảng cho trước, phương pháp dùng filter và lambda.
Ví dụ
Minh họa dưới đây:
my_list = [(13, 15, 17), (25, 56), (13, 21, 19), (44, 14)]
print("Danh sách là:")
print(my_list)
beg, end = 13, 22
my_result = list(filter(lambda sub: all(element >= beg and element <= end for element in sub), my_list))
print("Kết quả là:")
print(my_result)
Kết quả
Danh sách là: [(13, 15, 17), (25, 56), (13, 21, 19), (44, 14)] Kết quả là: [(13, 15, 17), (13, 21, 19)]
Giải thích
- Định nghĩa danh sách tuple và hiển thị ra console.
- Định nghĩa giá trị bắt đầu và kết thúc, hiển thị ra console.
- Dùng phương thức
lambdakết hợp toán tửall, kiểm tra xem phần tử có lớn hơn hoặc bằng giá trị bắt đầu, và nhỏ hơn hoặc bằng giá trị kết thúc không. - Nếu đúng, lọc ra bằng phương thức
filtervà chuyển thành list. - Gán kết quả vào biến.
- Đây là đầu ra hiển thị trên console.