Filtar je ugrađena Python funkcija. Filtrira navedeni slijed ili iterable kroz funkciju koja provjerava je li svaka stavka ili element u iterabu istinita ili lažna. Pojednostavljeno, funkcija filtriranja filtrira iterable kroz funkciju. Dana funkcija testira svaku stavku niza ili iterabilnost i vraća true ako je stavka zadovoljavala zadane kriterije. Kao rezultat, funkcija filter () konstruira novi iterator. Najčešće korišteni iterativi su popisi, korice i rječnici. Ovaj članak uz pomoć primjera ukratko opisuje funkciju filter ().
Sintaksa funkcije filter ()
Prvo razgovarajmo o sintaksi funkcije filter (). Sintaksa funkcije filter () je sljedeća:
file (funkcija, ponavljanje ili slijed)Funkcija filtra uzima dva parametra kao argument, tj.e., funkcija i iterable. Funkcija provjerava svaki element ili stavku iterabilne datoteke, je li istinita ili ne, prema zadanim kriterijima. Drugi je argument iterabilan ili slijed koji treba filtrirati. Funkcija procjenjuje svaku stavku iterablea prema zadanim kriterijima. Konačno, funkcija filter () vraća filtrirani iterator.
Pogledajmo primjere funkcije filter () i implementiramo je u našu Python skriptu. Za izradu i pokretanje Python skripti koristimo uređivač spyder3.
Primjer 1: Filtrirajte popis brojeva
Stvorimo popis brojeva i filtriramo ga. U danom primjeru list_func () procjenjuje svaku stavku popisa u danom stanju. Ako je stavka popisa veća od 5, tada funkcija vraća true i dodaje stavku u filtar.
#stvaranje popisa brojevamoj_popis = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#kreiranje funkcije
def list_func (listObj):
# uvjetna izjava za provjeru broja
if (listObj> 5):
povratak True
drugo:
povratak False
# koristeći funkciju filtra za filtriranje iterablea kroz list_func
brojevi = filtar (popis_func, moj_popis)
#printing novi iterator
za i u brojevima:
ispis (i)
Izlaz
Izlaz prikazuje filtrirani iterator. Filtrirani iterator sastavljen je od svih stavki koje su veće od 5.
Primjer 2: Filtrirajte popis znakova
Stvorimo popis znakova i primijenimo funkciju filtra.
#stvaranje popisa brojevamy_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
#kreiranje funkcije
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# uvjetna izjava za provjeru lika
if (listObj u word_listu):
povratak True
drugo:
povratak False
# koristeći funkciju filtra za filtriranje iterablea kroz list_func
riječi = filtar (popis_func, moj_popis)
#printing novi iterator
jer ja riječima:
ispis (i)
Izlaz
Primjeri 3: Filtrirajte paran broj
Filtrirajmo parne brojeve s datog popisa brojeva pomoću funkcije filtra.
#stvaranje popisa brojevamoj_popis = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#kreiranje funkcije
def list_func (listObj):
# uvjetna izjava za provjeru parnog broja
if (listObj% 2 == 0):
povratak True
drugo:
povratak False
# koristeći funkciju filtra za filtriranje iterablea kroz list_func
even_numbers = filtar (list_func, my_list)
#printing novi iterator
za i u parnim_brojevima:
ispis (i)
Izlaz
Primjeri 4: Filtrirajte prijestupnu godinu
Filtrirajmo prijestupne godine s datog popisa godina pomoću funkcije filtra.
#stvaranje popisa brojevamoj_popis = [2010,2012,2014,2016,2018,2020,2022,2024]
#kreiranje funkcije
def list_func (listObj):
# uvjetna izjava za provjeru prijestupne godine
if (listObj% 4 == 0):
povratak True
drugo:
povratak False
# koristeći funkciju filtra za filtriranje iterablea kroz list_func
prijestupna godina = filtar (list_func, my_list)
#printing novi iterator
za ja u prijestupnoj godini:
ispis (i)
Izlaz
Rezultat prikazuje prijestupne godine s datog popisa godina.
Primjeri 5: upotreba lambda funkcije s filtrom ()
Funkcija filtra uglavnom se koristi s lambda funkcijom. Proslijedimo lambda funkciju kao argument funkciji filter ().
#stvaranje popisa brojevamoj_popis = [2010,2012,2014,2016,2018,2020,2022,2024]
#declaring varijablu even_number
Varijabla #even_number sadrži parne brojeve
# using lambda function
parni_broj = filtar (lambda listObj: listObj% 2 == 0, moj_popis)
print ("Popis parnih brojeva")
za ja u even_number:
ispis (i)
prijestupna godina = filtar (lambda listObj: listObj% 4 == 0, moj_popis)
print ("Popis prijestupnih godina")
za x u prijestupnoj godini:
ispis (x)
Izlaz
Zaključak
Filter () je ugrađena funkcija Pythona koja se koristi za filtriranje iterabilnosti na zadanoj funkciji. Ovaj članak objašnjava funkciju filter () s primjerima.