Filteret er en indbygget Python-funktion. Det filtrerer den angivne sekvens eller iterable gennem en funktion, der kontrollerer, at hvert element eller element i iterable er sandt eller falsk. For at sige det enkelt filtrerer filterfunktionen iterablet gennem en funktion. Den givne funktion tester hvert element i sekvensen eller iterabelt og returnerer den sande, hvis varen opfylder de givne kriterier. Som et resultat konstruerer filter () -funktionen en ny iterator. Den mest anvendte iterable er lister, tupler og ordbøger. Denne artikel beskriver kort filter-funktionen ved hjælp af eksempler.
Syntaks for filter () -funktionen
Lad os først diskutere syntaksen for filter () -funktionen. Syntaksen for filter () -funktionen er som følger:
filet (funktion, iterabel eller sekvens)Filterfunktionen tager to parametre som argument, dvs.e., funktion og en iterabel. Funktionen kontrollerer hvert element eller element i iterabelen, uanset om det er sandt eller ej, i henhold til givne kriterier. Det andet argument kan gentages eller sekvens, der skal filtreres. Funktionen evaluerer hvert emne i iterablen på de givne kriterier. Endelig returnerer funktionen filter () den filtrerede iterator.
Lad os se eksemplerne på filter () -funktionen og implementere den i vores Python-script. Vi bruger en spyder3-editor til at oprette og køre Python-scripts.
Eksempel 1: Filtrer listen over numre
Lad os oprette listen over numre og filtrere den. I det givne eksempel vurderer list_func () hvert listeelement i en given tilstand. Hvis listeelementet er større end 5, returnerer funktionen sand og føjer elementet til filteret.
# opretter en liste med nummermin_liste = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# opretter en funktion
def list_func (listObj):
# en betinget erklæring for at kontrollere nummeret
hvis (listObj> 5):
returner sandt
andet:
returner Falsk
# bruger filterfunktionen til at filtrere iterablen gennem list_func
tal = filter (liste_func, min_liste)
# udskriver den nye iterator
for jeg i tal:
udskrive (i)
Produktion
Outputtet viser den filtrerede iterator. Den filtrerede iterator er konstrueret af alle de emner, der er større end 5.
Eksempel 2: Filtrer listen over tegn
Lad os oprette listen over tegn og anvende filterfunktionen.
# opretter en liste med nummermy_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# opretter en funktion
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# en betinget erklæring for at kontrollere tegnet
hvis (listObj i ordliste):
returner sandt
andet:
returner Falsk
# bruger filterfunktionen til at filtrere iterablen gennem list_func
ord = filter (liste_func, min_liste)
# udskriver den nye iterator
for jeg med ord:
udskrive (i)
Produktion
Eksempler 3: Filtrer lige tal
Lad os filtrere lige numre fra den givne liste over numre ved hjælp af filterfunktionen.
# opretter en liste med nummermin_liste = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# opretter en funktion
def list_func (listObj):
# en betinget erklæring for at kontrollere lige nummer
hvis (listObj% 2 == 0):
returner sandt
andet:
returner Falsk
# bruger filterfunktionen til at filtrere iterablen gennem list_func
lige_numre = filter (liste_func, min_liste)
# udskriver den nye iterator
for jeg i lige_numre:
udskrive (i)
Produktion
Eksempler 4: Filtrer skudåret
Lad os filtrere skudårene fra den givne liste over år ved hjælp af filterfunktionen.
# opretter en liste med nummermin_liste = [2010,2012,2014,2016,2018,2020,2022,2024]
# opretter en funktion
def list_func (listObj):
# en betinget erklæring for at kontrollere skudåret
hvis (listObj% 4 == 0):
returner sandt
andet:
returner Falsk
# bruger filterfunktionen til at filtrere iterablen gennem list_func
leap_year = filter (liste_func, min_liste)
# udskriver den nye iterator
for jeg i spring-år:
udskrive (i)
Produktion
Outputtet viser skudår fra den givne liste over år.
Eksempler 5: Brug af lambda-funktion med filter ()
Filterfunktionen bruges mest med lambda-funktion. Lad os passere lambda-funktionen som et argument for at filtrere () -funktionen.
# opretter en liste med nummermin_liste = [2010,2012,2014,2016,2018,2020,2022,2024]
#declaring en jævn_variabelvariabel
#even_number-variablen indeholder lige tal
# bruger lambda-funktion
lige_nummer = filter (lambda listeObj: listeObj% 2 == 0, min_liste)
print ("Listen over lige tal")
for jeg i lige_nummer:
udskrive (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
print ("Listen over skudår")
for x i spring_år:
udskrive (x)
Produktion
Konklusion
Filteret () er en Python-indbygget funktion, der bruges til at filtrere iterablen på en given funktion. Denne artikel forklarer filter () -funktionen med eksempler.