Hàm filter để lọc đối tượng trong Python
Bây giờ hãy cùng nghiên cứu hàm filter.
Nó cho phép lọc các phần tử trong danh sách
và các đối tượng có thể lặp khác theo một
điều kiện nào đó. Tham số đầu tiên của nó nhận một
hàm, hàm này xác định điều kiện để kiểm tra.
Tham số thứ hai chỉ định danh sách,
các phần tử của nó sẽ được lọc.
Nếu hàm trả về True thì
phần tử được giữ lại trong danh sách mới. Nếu
trả về False, phần tử sẽ không
có mặt trong danh sách.
Giả sử chúng ta có một danh sách:
lst = [1, 2, 3, 4, 5, 6]
Hãy chỉ giữ lại các số chẵn trong đó.
Để làm điều này, sử dụng hàm lambda để chỉ định rằng
số được truyền vào tham số của nó
phải chia hết cho: 2:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Sau khi thực thi mã, một danh sách mới sẽ được trả về:
[2, 4, 6]
Cho danh sách các số:
lst = [1, 2, 3, 4, 5]
Ghi vào danh sách mới chỉ những số lẻ từ danh sách này.
Cho danh sách các chuỗi:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Ghi vào danh sách mới chỉ những chuỗi
có độ dài bằng 2.