Hàm filter() trong Python
Hàm filter() trong Python lọc ra các phần tử theo điều kiện của hàm func từ list, dict... Hàm này sẽ chỉ trả về những giá trị mà điều kiện trong func chấp nhận (có nghĩa là True). Cú pháp của hàm filter() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.
Cú pháp hàm filter() trong Python
filter(func, iterable)
Các tham số của hàm filter()
Hàm filter() có 2 tham số:
- func: là hàm điều kiện để kiểm tra các phần tử trong interable là đúng hay sai, func chỉ có thể trả về True hoặc False.
- interable: là các iterable cần lọc, có thể là set, list, tuple hoặc container.
Ví dụ : Hàm filter() hoạt động thế nào?
# danh sách chữ cái
alphabet = ['a', 'b', 'd', 'e', 'i', 'j', 'o']
# lọc nguyên âm
# viết bởi Quantrimang.com
def filterNguyenam(alphabet):
nguyenam = ['a', 'e', 'i', 'o', 'u']
if(alphabet in nguyenam):
return True
else:
return False
filterNguyenam = filter(filterNguyenam, alphabet)
print('Các nguyên âm được lọc là:')
for nguyenam in filterNguyenam:
print(nguyenam)
Chạy chương trình, kết quả trả về là:
Các nguyên âm được lọc là:aeio
Ở đây, ta liệt kê một danh sách các chữ cái và cần lọc ra các nguyên âm trong đó.
Bạn có thể sử dụng vòng lặp for để kiểm tra từng thành phần trong danh sách và lưu trữ nó sang một danh sách khác, nhưng sử dụng Python thì quá trình này sẽ dễ dàng hơn và nhanh hơn bằng cách dùng phương thức filter().
Ví dụ 2: filter() hoạt động không cần func.
# random list
# viết bởi Quantrimang.com
randomList = [1, 'a', 0, False, True, '0']
filteredList = filter(None, randomList)
print('Các phần tử được lọc là:')
for element in filteredList:
print(element)
Chạy chương trình, kết quả trả về là:
Các phần tử được lọc là:1aTrue0
Ở đây, ta có một danh sách ngẫu nhiên gồm cả số, chuỗi và boolean gọi là randomList. Chúng ta truyền randomList vào hàm filter() với tham số đầu tiên (func) là None. Lúc này, hàm tự mặc định trở thành Identity function, vậy nên ta nhận được các phần tử TRUE là 1, a, True và '0' ('0' ở dạng chuỗi).
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Cách tìm tài khoản liên kết với địa chỉ email
2 ngày -
Cách thức tỉnh trái ác quỷ Blox Fruit
2 ngày -
Khối D01 thi môn nào, học ngành nào?
2 ngày -
Outlook là gì? Cách sử dụng Outlook cho người mới
3 ngày -
Code Wuthering Waves mới nhất 18/05/2025 và hướng dẫn đổi code
3 ngày -
Hình nền trắng, ảnh nền trắng đẹp
3 ngày -
Tổng hợp 1001+ thuật ngữ trong Liên Quân Mobile
3 ngày 7 -
19/5 là ngày gì? Ngày 19 tháng 5 năm 1890 là ngày gì?
Hôm qua 6 -
Cách kích hoạt Windows Subsystem for Linux trên Windows
Hôm qua -
Tại sao khởi động lại router có thể khắc phục được nhiều vấn đề?
Hôm qua