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 loomineminu_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 loominemy_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 loomineminu_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 loominemy_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 loominemy_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.