Python

Pythoni filtri funktsioon

Pythoni filtri funktsioon

Filter on sisseehitatud Pythoni funktsioon. See filtreerib määratud järjestuse või iteratsiooni funktsiooni kaudu, mis kontrollib iteratsiooni iga üksuse või elemendi õigsust või valet. Lihtsamalt öeldes filtreerib funktsioon funktsioon iterable läbi funktsiooni. Antud funktsioon testib järjestuse või iteratsiooni iga üksust ja tagastab tõese, kui element vastab antud kriteeriumidele. Selle tulemusel konstrueerib filter () funktsioon uue iteraatori. Kõige sagedamini kasutatavad korduvad on loendid, salmid ja sõnastikud. Selles artiklis kirjeldatakse näidete abil lühidalt funktsiooni filter ().

Funktsiooni filter () süntaks

Kõigepealt arutame filtri () süntaksit. Funktsiooni filter () süntaks on järgmine:

fail (funktsioon, iteritav või järjestus)

Filtrifunktsioon võtab argumendina kaks parameetrit, st.e., funktsioon ja korduv. Funktsioon kontrollib etteantud kriteeriumide järgi iterable'i kõiki elemente või üksusi, olenemata sellest, kas see on tõene või mitte. Teine argument on korduv või filtreeritav järjestus. Funktsioon hindab iterable iga üksust etteantud kriteeriumide alusel. Lõpuks tagastab funktsioon filter () filtreeritud iteraatori.

Vaatame funktsiooni filter () näiteid ja juurutame selle oma Pythoni skripti. Pythoni skriptide loomiseks ja käitamiseks kasutame redaktorit spyder3.

Näide 1: Filtreerige numbrite loend

Koostame numbrite loendi ja filtreerime selle. Antud näites hindab list_func () kõiki antud tingimuse loendiüksusi. Kui loendiüksus on suurem kui 5, tagastab funktsioon tõene ja lisab üksuse filtrisse.

#numbriloendi loomine
minu_loend = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# funktsiooni loomine
def list_func (listObj):
# tingimuslause numbri kontrollimiseks
kui (listObj> 5):
return True
muu:
tagastama Vale
# kasutades filtrifunktsiooni iterable filtreerimiseks läbi list_func
numbrid = filter (list_func, my_list)
# uue iteraatori printimine
i jaoks arvudes:
trükk (i)

Väljund
Väljundis kuvatakse filtreeritud iteraator. Filtreeritud iteraatori koostavad kõik elemendid, mis on suuremad kui 5.

Näide 2: Filtreerige märkide loend

Koostame märkide loendi ja rakendame filtrifunktsiooni.

#numbriloendi loomine
my_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# funktsiooni loomine
def list_func (listObj):
sõna_list = ['l', 'i', 'n', 'u', 'x']
# tingimuslause märgi kontrollimiseks
if (loendisObj sõna_loendis):
return True
muu:
tagastama Vale
# kasutades filtrifunktsiooni iterable filtreerimiseks läbi list_func
sõnad = filter (list_func, my_list)
# uue iteraatori printimine
i jaoks sõnadega:
trükk (i)

Väljund

3. näide: paarisarvu filtreerimine

Filtreerime filtrifunktsiooni abil paarisarvud antud numbrite loendist.

#numbriloendi loomine
minu_loend = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# funktsiooni loomine
def list_func (listObj):
# tingimuslause paarisarvu kontrollimiseks
kui (listObj% 2 == 0):
return True
muu:
tagastama Vale
# kasutades filtrifunktsiooni iterable filtreerimiseks läbi list_func
paarisarvud = filter (loendi_funktsioon, minu_ loend)
# uue iteraatori printimine
i jaoks paarisarvudes:
trükk (i)

Väljund

Näited 4: filtreerige liigaasta

Filtreerime hüppeaastad etteantud aastate loendist filtrifunktsiooni abil.

#numbriloendi loomine
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# funktsiooni loomine
def list_func (listObj):
# tingimuslik avaldus hüppeaasta kontrollimiseks
kui (listObj% 4 == 0):
return True
muu:
tagastama Vale
# kasutades filtrifunktsiooni iterable filtreerimiseks läbi list_func
leap_year = filter (list_func, my_list)
# uue iteraatori printimine
i jaoks hüppeaastal:
trükk (i)

Väljund

Väljund kuvab antud aastate loendist hüppeaastad.

Näited 5: lambda funktsiooni kasutamine filtriga ()

Filtrifunktsiooni kasutatakse enamasti lambda-funktsiooniga. Edastame funktsiooni lambda argumendina funktsiooni () filtreerimiseks.

#numbriloendi loomine
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#deklareerib muutuja paarisarv
Muutuja #even_number sisaldab paarisarvusid
#kasutab lambda funktsiooni
paarisarv = filter (lambda loendObj: loendObj% 2 == 0, minu_loend)
print ("Paarisarvude loend")
i jaoks paarisarvus:
trükk (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
print ("Liigaastade loend")
x jaoks hüppeaastal:
print (x)

Väljund

Järeldus

Filter () on Pythoni sisseehitatud funktsioon, mida kasutatakse antud funktsiooni iterable filtreerimiseks. Selles artiklis selgitatakse filtrite () funktsiooni näidetega.

Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...