Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

filter() trong Python là gì?


Thông qua phương thức filter, chúng ta lọc ra các phần tử cụ thể của một danh sách sử dụng điều kiện lọc được định nghĩa 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 định nghĩa sẽ đề cập đến tiêu chí lọc. Cùng nhau, hàm này và danh sách được cung cấp sẽ được lấy làm tham số cho hàm filter để cho kết quả.

Cú pháp

filter(filter_function, sequence)

Ví dụ

Trong ví dụ dưới đây, chúng ta tạo một hàm sẽ tìm các số chẵn có mặt trong một 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 ta có thể sửa đổi hàm này để lọc ra các số chia hết cho 3 hoặc 5, v.v.

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)

Kết quả

Chạy mã trên cho kết quả sau:

17
11
21

Ví dụ khác

Chúng ta có thể sử dụng cùng phương pháp để lọc ra các nguyên âm từ một danh sách chữ cái cho trước.

letters = ['t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's']
def get_vowels(c):
    if c in ['a', 'e', 'i', 'o', 'u']:
        return True
    else:
        return False
vowel_list = filter(get_vowels, letters)
for w in vowel_list:
    print(w)

Kết quả

Chạy mã trên cho kết quả sau:

u
o
i
a