Khái niệm và cách lọc dữ liệu trong Python với hàm Filter
Khái niệm Filter trong Python
Hàm filter()
trong Python được sử dụng để lọc các phần tử của một chuỗi hoặc một tập hợp (list, tuple, set) dựa trên một điều kiện nhất định. Nó trả về một iterator chứa các phần tử thoả mãn điều kiện được chỉ định.
Cú pháp của hàm Filter
Hàm Filter trong Python sử dụng cú pháp sau đây
filter(function, iterable)
function
: Là một hàm đánh giá điều kiện cho mỗi phần tử trongiterable
. Nếufunction
trả vềTrue
, phần tử đó được bao gồm trong kết quả. Nếufunction
trả vềFalse
, phần tử đó sẽ bị bỏ qua.iterable
: Là một chuỗi hoặc một tập hợp mà bạn muốn lọc.
Ví dụ về cách sử dụng hàm Filter trong Python
Ví dụ để lấy các số chẵn lọc từ một danh sách bao gồm các số nguyên
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = filter(is_even, numbers)
# Chuyển iterator thành list để hiển thị kết quả dễ đọc
even_numbers = list(filtered_numbers)
print(even_numbers)
Với đoạn mã trên ta sẽ có kết quả như sau
[2, 4, 6, 8, 10]
Diễn giải ví dụ Python trên như sau
- Hàm
is_even()
được định nghĩa để kiểm tra xem một số có phải là số chẵn hay không bằng cách kiểm tra phần dư của phép chia cho 2. numbers
là danh sách các số từ 1 đến 10.- Hàm
filter(is_even, numbers)
sẽ lọc các số chẵn từ danh sáchnumbers
bằng cách sử dụng hàmis_even()
làm điều kiện. - Kết quả sau cùng là danh sách
even_numbers
chứa các số chẵn được lọc từ danh sách ban đầunumbers
.