Python filterfunksjon

Python filterfunksjon

Filteret er en innebygd Python-funksjon. Den filtrerer den spesifiserte sekvensen eller iterable gjennom en funksjon som sjekker hvert element eller element i den iterable for å være sant eller usant. For å si det enkelt, filtrerer filterfunksjonen den iterable gjennom en funksjon. Den gitte funksjonstesten hvert element i sekvensen eller iterable og returnerer sanne hvis elementet tilfredsstilte de gitte kriteriene. Som et resultat konstruerer filter () -funksjonen en ny iterator. De mest brukte iterable er lister, tuples og ordbøker. Denne artikkelen beskriver kort filter () -funksjonen ved hjelp av eksempler.

Syntaks av filter () -funksjon

La oss diskutere syntaks for filter () -funksjonen først. Syntaks for filter () -funksjonen er som følger:

Filet (funksjon, iterable eller sekvens)

Filterfunksjonen tar to parametere som et argument, i.e., funksjon og en iterable. Funksjonen sjekker hvert element eller element på iterable, enten det er sant eller ikke, i henhold til gitte kriterier. Det andre argumentet er iterable eller sekvens som skal filtreres. Funksjonen evaluerer hvert element i iterable på de gitte kriteriene. Endelig returnerer filter () -funksjonen den filtrerte iteratoren.

La oss se eksemplene på filter () -funksjonen og implementere det i Python -skriptet vårt. Vi bruker en Spyder3 -redaktør for å lage og kjøre Python -skriptene.

Eksempel 1: Filtrer listen over tall

La oss lage listen over tall og filtrere den. I det gitte eksemplet evaluerer list_func () hvert listeelement på en gitt tilstand. Hvis listeelementet er større enn 5, returnerer funksjonen sann og legger til elementet i filteret.

#Creating en liste over nummer
my_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#skape en funksjon
def list_func (listobj):
# en betinget uttalelse for å sjekke nummeret
if (listobj> 5):
Returner sann
ellers:
return falsk
#Bruke filterfunksjonen for å filtrere den iterable gjennom list_func
numbers = filter (list_func, my_list)
#uttrykk av den nye iteratoren
for jeg i tall:
trykk (i)

Produksjon
Utgangen viser den filtrerte iteratoren. Den filtrerte iteratoren er konstruert av alle elementene som er større enn 5.

Eksempel 2: Filtrer listen over tegn

La oss lage listen over tegn og bruke filterfunksjonen.

#Creating en liste over nummer
my_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
#skape en funksjon
def list_func (listobj):
word_list = ['l', 'i', 'n', 'u', 'x']
# en betinget uttalelse for å sjekke tegnet
if (listobj i word_list):
Returner sann
ellers:
return falsk
#Bruke filterfunksjonen for å filtrere den iterable gjennom list_func
ord = filter (list_func, my_list)
#uttrykk av den nye iteratoren
for jeg med ord:
trykk (i)

Produksjon

Eksempler 3: Filtrer det jevne nummeret

La oss filtrere de jevne tallene fra den gitte listen over tall ved hjelp av filterfunksjonen.

#Creating en liste over nummer
my_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#skape en funksjon
def list_func (listobj):
# en betinget uttalelse for å sjekke det jevnlige nummeret
if (listobj%2 == 0):
Returner sann
ellers:
return falsk
#Bruke filterfunksjonen for å filtrere den iterable gjennom list_func
Even_numbers = filter (list_func, my_list)
#uttrykk av den nye iteratoren
for jeg i jevn_numbers:
trykk (i)

Produksjon

Eksempler 4: Filtrer sprangåret

La oss filtrere sprangårene fra den gitte listen over år ved å bruke filterfunksjonen.

#Creating en liste over nummer
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#skape en funksjon
def list_func (listobj):
# En betinget uttalelse for å sjekke sprangåret
if (listobj%4 == 0):
Returner sann
ellers:
return falsk
#Bruke filterfunksjonen for å filtrere den iterable gjennom list_func
Leap_year = filter (list_func, my_list)
#uttrykk av den nye iteratoren
For jeg i Leap_year:
trykk (i)

Produksjon

Utgangen viser sprangårene fra den gitte listen over år.

Eksempler 5: Bruke Lambda -funksjon med filter ()

Filterfunksjonen brukes stort sett med lambda -funksjon. La oss passere Lambda -funksjonen som et argument for å filtrere () -funksjonen.

#skape en liste over tall med jevnt tall
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#Declaring en Even_number -variabel ved hjelp av Lambda -funksjonen
selv_nummer = filter (lambda listobj: listobj%2 == 0, my_list)
skriv ut ("Listen over jevnnumre")
for jeg i jevn_nummer:
trykk (i)
Leap_year = filter (lambda listobj: listobj%4 == 0, my_list)
trykk ("Listen over sprangår")
for x i sprang_år:
trykk (x)

Produksjon

Konklusjon

Filteret () er en python innebygd funksjon som brukes til å filtrere den iterable på en gitt funksjon. Denne artikkelen forklarer filter () -funksjonen med eksempler.