Filtrul este o funcție Python încorporată. Filtrează secvența specificată sau iterabilă printr-o funcție care verifică fiecare element sau element din iterabil ca fiind adevărat sau fals. Mai simplu spus, funcția de filtrare filtrează iterabilul printr-o funcție. Funcția dată testează fiecare element al secvenței sau iterabil și returnează adevăratul dacă elementul îndeplinește criteriile date. Ca rezultat, funcția filter () construiește un nou iterator. Cele mai utilizate iterabile sunt listele, tuplurile și dicționarele. Acest articol descrie pe scurt funcția filter () cu ajutorul exemplelor.
Sintaxa funcției filter ()
Să discutăm mai întâi sintaxa funcției filter (). Sintaxa funcției filter () este următoarea:
filet (funcție, iterabil sau secvență)Funcția de filtrare ia doi parametri ca argument, i.e., funcție și un iterabil. Funcția verifică fiecare element sau element al iterabilului, dacă este adevărat sau nu, conform criteriilor date. Al doilea argument este iterabil sau secvența care trebuie filtrată. Funcția evaluează fiecare element din iterabil pe criteriile date. În cele din urmă, funcția filter () returnează iteratorul filtrat.
Să vedem exemplele funcției filter () și să o implementăm în scriptul nostru Python. Folosim un editor spyder3 pentru a crea și rula scripturile Python.
Exemplul 1: filtrați lista numerelor
Să creăm lista numerelor și să o filtrăm. În exemplul dat, list_func () evaluează fiecare articol din listă într-o condiție dată. Dacă elementul listei este mai mare de 5, atunci funcția returnează adevărat și adaugă elementul la filtru.
#crearea unei liste de numeremy_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#crearea unei funcții
def list_func (listObj):
# o declarație condiționată pentru a verifica numărul
dacă (listObj> 5):
returnează True
altceva:
returnează Fals
# folosind funcția de filtrare pentru a filtra iterabilul prin list_func
numere = filtru (list_func, my_list)
#imprimarea noului iterator
pentru i în numere:
print (i)
Ieșire
Ieșirea afișează iteratorul filtrat. Iteratorul filtrat este construit de toate acele elemente care sunt mai mari de 5.
Exemplul 2: filtrați lista de caractere
Să creăm lista de caractere și să aplicăm funcția de filtrare.
#crearea unei liste de numeremy_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
#crearea unei funcții
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# o declarație condiționată pentru a verifica caracterul
if (listObj în word_list):
returnează True
altceva:
returnează Fals
# folosind funcția de filtrare pentru a filtra iterabilul prin list_func
cuvinte = filtru (list_func, my_list)
#imprimarea noului iterator
pentru i în cuvinte:
print (i)
Ieșire
Exemple 3: Filtrează numărul par
Să filtrăm numerele pare din lista dată de numere folosind funcția de filtrare.
#crearea unei liste de numeremy_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#crearea unei funcții
def list_func (listObj):
# o declarație condiționată pentru a verifica numărul par
if (listObj% 2 == 0):
returnează True
altceva:
returnează Fals
# folosind funcția de filtrare pentru a filtra iterabilul prin list_func
even_numbers = filter (list_func, my_list)
#imprimarea noului iterator
pentru i în numere pare:
print (i)
Ieșire
Exemple 4: Filtrează anul bisect
Să filtrăm anii bisecți din lista dată de ani folosind funcția de filtrare.
#crearea unei liste de numeremy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#crearea unei funcții
def list_func (listObj):
# o declarație condiționată pentru a verifica anul bisect
if (listObj% 4 == 0):
returnează True
altceva:
returnează Fals
# folosind funcția de filtrare pentru a filtra iterabilul prin list_func
leap_year = filter (list_func, my_list)
#imprimarea noului iterator
pentru i în leap_year:
print (i)
Ieșire
Rezultatul afișează anii bisecți din lista dată de ani.
Exemple 5: utilizarea funcției lambda cu filter ()
Funcția de filtrare este utilizată mai ales cu funcția lambda. Să trecem funcția lambda ca argument pentru funcția filter ().
#crearea unei liste de numeremy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#declararea unei variabile even_number
#even_number variabila conține numerele pare
# folosind funcția lambda
even_number = filter (lambda listObj: listObj% 2 == 0, my_list)
print („Lista numerelor pare”)
pentru i în număr_par:
print (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
print („Lista anilor bisectivi”)
pentru x în leap_year:
print (x)
Ieșire
Concluzie
Filtrul () este o funcție încorporată Python care este utilizată pentru a filtra iterabilul pe o funcție dată. Acest articol explică funcția filter () cu exemple.