Thông qua phương pháp bộ lọc, chúng tôi lọc ra các phần tử cụ thể của danh sách bằng cách sử dụng điều kiện lọc được xác định trong một hàm riêng biệt. Vì vậy, trước tiên chúng ta tạo một hàm do người dùng xác định, hàm này sẽ đề cập đến các tiêu chí lọc. Hàm này cùng với danh sách được cung cấp sẽ được lấy làm tham số cho hàm bộ lọc để cung cấp cho chúng tôi kết quả.
Cú pháp
filter(filter_function, sequence)
Ví dụ
Trong ví dụ dưới đây, chúng tôi tạo một hàm tìm các số chẵn có trong danh sách. Sau đó, nó sẽ loại bỏ chúng (trả về false). Các số lẻ còn lại sẽ được thêm vào danh sách cuối cùng. Chúng tôi có thể sửa đổi chức năng này để lọc ra các số chia hết cho 3 hoặc 5 hoặc lâu hơn.
num_list = [6,17, 32, 11, 21, 132] def remove_even(x): if x%2 ==0 : return False else: return True odd_nos = filter(remove_even, num_list) for x in odd_nos: print(x)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
17 11 21
Ví dụ
Chúng ta có thể sử dụng cách tiếp cận tương tự để lọc ra các nguyên âm từ một danh sách các bảng chữ cái nhất định. Đây
letters = ['t','u','t','o','r','i','a','l','s'] def get_vowels(c): if c in ['a','e','i','o','o']: return True else: return False vowel_list = filter(get_vowels, letters) for w in vowel_list: print(w)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
u o i a