Piton

Funcția de filtrare Python

Funcția de filtrare Python

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 numere
my_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 numere
my_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 numere
my_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 numere
my_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 numere
my_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.

Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
Cum se instalează League Of Legends pe Ubuntu 14.04
Dacă ești fan al League of Legends, atunci aceasta este o oportunitate pentru tine de a testa rula League of Legends. Rețineți că LOL este acceptat pe...
Instalați cel mai recent joc de strategie OpenRA pe Ubuntu Linux
OpenRA este un motor de jocuri de strategie în timp real Libre / Free care recreează primele jocuri Westwood, cum ar fi clasicul Command & Conquer: Re...