Hàm filter() trong Python

Thứ tư - 30/10/2024 01:48

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).

Nguồn tin: Quantrimang.com:

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập29
  • Hôm nay0
  • Tháng hiện tại229,048
  • Tổng lượt truy cập9,707,743
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây