Khi cần lọc các hàng (sublist) mà chứa tất cả các số trong một khoảng cho trước, ta dùng list comprehension và toán tử all().
Ví dụ
my_list = [[3, 2, 4, 5, 10], [32, 12, 4, 51, 10], [12, 53, 11], [2, 3, 31, 5, 8, 7]]
print("Danh sách ban đầu:")
print(my_list)
i, j = 2, 5
my_result = [index for index in my_list if all(element in index for element in range(i, j + 1))]
print("Kết quả:")
print(my_result)
Kết quả
Danh sách ban đầu: [[3, 2, 4, 5, 10], [32, 12, 4, 51, 10], [12, 53, 11], [2, 3, 31, 5, 8, 7]] Kết quả: [[3, 2, 4, 5, 10]]
Giải thích
Định nghĩa danh sách lồng nhau và hiển thị.
Định nghĩa khoảng [i, j] = [2, 5].
Duyệt từng hàng con, kiểm tra
all(element in row for element in range(i, j+1))tức là hàng con phải chứa đủ các số 2,3,4,5.Chỉ hàng đầu tiên thỏa mãn.
In kết quả.