Hướng dẫn what is filter () function in python? - Hàm filter () trong python là gì?

❮ Chức năng tích hợp sẵn


Thí dụ

Lọc mảng và trả về một mảng mới chỉ với các giá trị bằng hoặc trên 18:

Tuổi = [5, 12, 17, 18, 24, 32]

def myfunc (x): & nbsp; Nếu x <18: & nbsp; & nbsp; & nbsp; trả về false & nbsp; khác: & nbsp; & nbsp; & nbsp; trả về đúng
  if x < 18:
    return False
  else:
    return True

người lớn = bộ lọc (myfunc, lứa tuổi)

cho x ở người lớn: & nbsp; in (x)
  print(x)

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Hàm filter() trả về một trình lặp là các mục được lọc thông qua một hàm để kiểm tra xem mục có được chấp nhận hay không.


Cú pháp

bộ lọc (chức năng, có thể lặp lại)

Giá trị tham số

Tham sốSự mô tả
hàm sốMột chức năng sẽ được chạy cho từng mục trong ITEBLE
Có thể lặp lạiCó thể lọc được

❮ Chức năng tích hợp sẵn


& nbsp; & nbsp; & nbsp; nếu sách ["Giá"]> 500:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return true

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false

Filtered_Object = Filter (Func, Books)

Hãy xem xét kịch bản đơn giản này. Giả sử, bạn có một danh sách các cuốn sách chứa chi tiết hơn 1000 cuốn sách. Bây giờ, nếu bạn cố gắng sử dụng một chức năng toàn diện để lọc các cuốn sách cụ thể, quá trình này có thể khá toàn diện về mặt sử dụng tài nguyên. Danh sách toàn diện sẽ tạo ra một danh sách mới và vào thời điểm nó đã hoàn thành toàn bộ hoạt động của mình, bạn sẽ có hai danh sách trong bộ nhớ của chúng tôi. Và khi các danh sách rất lớn, điều này có thể gây ra một vấn đề lớn. Hơn nữa, nó làm tăng thời gian chạy tổng thể của quá trình xử lý. & NBSP;

Trái ngược với điều này, hàm Filter () sẽ chỉ đơn giản là tạo một đối tượng sẽ không phải là bản sao của danh sách nhưng sẽ là một tham chiếu đến danh sách ban đầu, cùng với hàm đã được cung cấp cho bộ lọc và các chỉ số có được đi qua trong danh sách ban đầu. Không cần phải nói, điều này mất ít bộ nhớ hơn và thực hiện nhanh hơn so với danh sách hiểu. & NBSP;

Ví dụ về bộ lọc trong Python

Bây giờ, hãy xem một vài ví dụ sẽ chứng minh các cách khác nhau mà bạn có thể sử dụng phương thức bộ lọc trong Python. Bạn có thể thử phương pháp này trên các phép lặp khác nhau bằng hàm Lambda, hàm truyền thống và không chỉ định hàm.

Ví dụ 1. Sử dụng bộ lọc có chức năng đơn giản trong danh sách.

Giả sử bạn có một danh sách các chữ cái và chúng tôi muốn lọc các nguyên âm bằng bộ lọc trong danh sách đó. Bạn có thể tạo một chức năng đơn giản để kiểm tra xem một chữ cái làm đối số cho hàm đó có phải là nguyên âm hay không và trả về đúng hay sai dựa trên kiểm tra. Cũng có thể sử dụng phương pháp này như một đối số cho hàm bộ lọc cùng với danh sách các chữ cái. Bây giờ, hãy thử nó ra.

Chương trình -& nbsp;

Kiểm tra def (thư): & nbsp; list_of_vowels = ['a', 'e', ​​'i', 'o', 'u'] & nbsp; Nếu chữ cái trong list_of_vowels: & nbsp; & nbsp; & nbsp; trả về đúng & nbsp; khác: & nbsp; & nbsp; & nbsp; trả về falseletters = ['u', 'a', 'q', 'c', 'i', 'd', 'z', 'p', 'e'] filtered_object = filter (kiểm tra, chữ cái) in ( "Loại đối tượng được trả về là:", gõ (pectred_object)) đã lọc_list = list (piltered_object) in ("Danh sách các nguyên âm là:", Lọc_list)
  list_of_vowels = ['a', 'e', 'i', 'o', 'u']
  if letter in list_of_vowels:
      return True
  else:
      return False
letters = ['u', 'a', 'q', 'c', 'i', 'd', 'z', 'p', 'e']
filtered_object = filter(check, letters)
print("The type of returned object is: ", type(filtered_object))
filtered_list = list(filtered_object)
print("The list of vowels is: ", filtered_list)

Đầu ra -& nbsp;

ExamplesofFilter_1

Ví dụ 2. Sử dụng bộ lọc có chức năng Lambda trong danh sách

Trong ví dụ này, bạn sẽ sử dụng chức năng bộ lọc trên danh sách các số để tách số thành hai danh sách số lẻ và chẵn. Ở đây, sử dụng hàm Lambda thay vì hàm truyền thống trong tham số.

Chương trình -& nbsp;

Kiểm tra def (thư): & nbsp; list_of_vowels = ['a', 'e', ​​'i', 'o', 'u'] & nbsp; Nếu chữ cái trong list_of_vowels: & nbsp; & nbsp; & nbsp; trả về đúng & nbsp; khác: & nbsp; & nbsp; & nbsp; trả về falseletters = ['u', 'a', 'q', 'c', 'i', 'd', 'z', 'p', 'e'] filtered_object = filter (kiểm tra, chữ cái) in ( "Loại đối tượng được trả về là:", gõ (pectred_object)) đã lọc_list = list (piltered_object) in ("Danh sách các nguyên âm là:", Lọc_list)

Đầu ra -& nbsp;

Ví dụ 2. Sử dụng bộ lọc có chức năng Lambda trong danh sách

Trong ví dụ này, bạn sẽ sử dụng chức năng bộ lọc trên danh sách các số để tách số thành hai danh sách số lẻ và chẵn. Ở đây, sử dụng hàm Lambda thay vì hàm truyền thống trong tham số.

Nums = [5, 10, 23, 64, 42, 53, 93, 2, 0, -14, 6, -22, -13]

#Filter tất cả các số lẻ từ danh sách

ODD = Filter (Lambda P: P%2! = 0, Nums)

Đầu ra -& nbsp;

ExamplesofFilter_2

Ví dụ 2. Sử dụng bộ lọc có chức năng Lambda trong danh sách

Trong ví dụ này, bạn sẽ sử dụng chức năng bộ lọc trên danh sách các số để tách số thành hai danh sách số lẻ và chẵn. Ở đây, sử dụng hàm Lambda thay vì hàm truyền thống trong tham số.

Chương trình -& nbsp;

Kiểm tra def (thư): & nbsp; list_of_vowels = ['a', 'e', ​​'i', 'o', 'u'] & nbsp; Nếu chữ cái trong list_of_vowels: & nbsp; & nbsp; & nbsp; trả về đúng & nbsp; khác: & nbsp; & nbsp; & nbsp; trả về falseletters = ['u', 'a', 'q', 'c', 'i', 'd', 'z', 'p', 'e'] filtered_object = filter (kiểm tra, chữ cái) in ( "Loại đối tượng được trả về là:", gõ (pectred_object)) đã lọc_list = list (piltered_object) in ("Danh sách các nguyên âm là:", Lọc_list)

Đầu ra -& nbsp;

Ví dụ 2. Sử dụng bộ lọc có chức năng Lambda trong danh sách

   print(element)

Trong ví dụ này, bạn sẽ sử dụng chức năng bộ lọc trên danh sách các số để tách số thành hai danh sách số lẻ và chẵn. Ở đây, sử dụng hàm Lambda thay vì hàm truyền thống trong tham số.

ExamplesofFilter_3

Nums = [5, 10, 23, 64, 42, 53, 93, 2, 0, -14, 6, -22, -13]

#Filter tất cả các số lẻ từ danh sách

ODD = Filter (Lambda P: P%2! = 0, Nums)

#Filter tất cả các số chẵn từ danh sách

Chương trình -& nbsp;

Kiểm tra def (thư): & nbsp; list_of_vowels = ['a', 'e', ​​'i', 'o', 'u'] & nbsp; Nếu chữ cái trong list_of_vowels: & nbsp; & nbsp; & nbsp; trả về đúng & nbsp; khác: & nbsp; & nbsp; & nbsp; trả về falseletters = ['u', 'a', 'q', 'c', 'i', 'd', 'z', 'p', 'e'] filtered_object = filter (kiểm tra, chữ cái) in ( "Loại đối tượng được trả về là:", gõ (pectred_object)) đã lọc_list = list (piltered_object) in ("Danh sách các nguyên âm là:", Lọc_list)

Đầu ra -& nbsp;

Ví dụ 2. Sử dụng bộ lọc có chức năng Lambda trong danh sách

Trong ví dụ này, bạn sẽ sử dụng chức năng bộ lọc trên danh sách các số để tách số thành hai danh sách số lẻ và chẵn. Ở đây, sử dụng hàm Lambda thay vì hàm truyền thống trong tham số.

Nums = [5, 10, 23, 64, 42, 53, 93, 2, 0, -14, 6, -22, -13]

#Filter tất cả các số lẻ từ danh sách

ODD = Filter (Lambda P: P%2! = 0, Nums)

#Filter tất cả các số chẵn từ danh sách

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return true

   else:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false

Filtered_Object = Filter (Func, Books)

Đối với D trong Lọc_Object:

   print(dict(d)["Title"])    

Đầu ra -& nbsp;

ExamplesofFilter_4

Giải thích -& nbsp;

Trong chương trình trên, bạn đã tạo một danh sách các từ điển có chứa các chi tiết về các cuốn sách như tiêu đề, tác giả, giá, v.v. Từ điển đó lớn hơn 500, khác sai. Sau đó, bạn đã sử dụng một bộ lọc trong danh sách các từ điển bằng cách sử dụng hàm được xác định trước đó. Đối tượng bộ lọc được trả về đã được lặp đi lặp lại để chỉ in tiêu đề của những cuốn sách đó được trả về bởi bộ lọc. Vì điều hiển nhiên, chỉ có những tựa game đó đã được trả lại với giá lớn hơn 500.

Mong muốn chuyển sang lĩnh vực lập trình? Tham gia khóa đào tạo & nbsp; Python & nbsp; và bắt đầu sự nghiệp của bạn như một lập trình viên Python chuyên nghiệp

Chức năng bộ lọc trong Python với ví dụ là gì?

# Python Filter () Ví dụ Hàm # Gọi hàm kết quả = Filter (none, (1,0,6)) # Trả về tất cả các giá trị khác không kết quả Giá trị khác và giá trị thực # Hiển thị kết quả kết quả = danh sách (kết quả) Kết quả2 = list (result2) in (kết quả) in (kết quả2) Đầu ra: [1, 6] [1, true]returns all non-zero values result2 = filter(None,(1,0,False,True)) # returns all non-zero and True values # Displaying result result = list(result) result2 = list(result2) print(result) print(result2) Output: [1, 6] [1, True]

Bộ lọc () làm gì?

Định nghĩa và sử dụng Phương thức Filter () tạo ra một mảng mới chứa đầy các phần tử vượt qua thử nghiệm được cung cấp bởi một hàm.Phương thức Filter () không thực thi hàm cho các phần tử trống.Phương thức bộ lọc () không thay đổi mảng gốc.creates a new array filled with elements that pass a test provided by a function. The filter() method does not execute the function for empty elements. The filter() method does not change the original array.

Bộ lọc () trả về trong Python là gì?

Phương thức Filter () trong Python sẽ trả về một trình lặp sẽ chứa tất cả các phần tử của IT có thể sử dụng ban đầu đã vượt qua kiểm tra chức năng.an iterator that will contain all the elements of the original iterable that has passed the function check.

Hàm bộ lọc () lấy gì làm tham số?

Hàm bộ lọc có hai đối số: một hàm trả về đúng hoặc sai (kiểm tra một điều kiện cụ thể) và đối tượng có thể lặp lại mà chúng tôi muốn áp dụng nó vào (chẳng hạn như một danh sách trong trường hợp này).a function that returns True or False (checks for a specific condition) and the iterable object we want to apply it to (such as a list in this case).