Filtret är en inbyggd Python-funktion. Den filtrerar den angivna sekvensen eller iterabla genom en funktion som kontrollerar att varje artikel eller element i iterabel är sant eller falskt. För att uttrycka det enkelt, filtrerar filterfunktionen iterabeln genom en funktion. Den givna funktionen testar varje artikel i sekvensen eller iterabel och returnerar den sanna om artikeln uppfyller givna kriterier. Som ett resultat konstruerar filter () -funktionen en ny iterator. Det vanligaste iterabla är listor, tuplar och ordböcker. Den här artikeln beskriver kortfattat filter () -funktionen med hjälp av exempel.
Syntax för filter () -funktionen
Låt oss först diskutera syntaxen för filter () -funktionen. Syntaxen för filter () -funktionen är som följer:
filet (funktion, iterabel eller sekvens)Filterfunktionen tar två parametrar som argument, dvs.e., funktion och en iterabel. Funktionen kontrollerar varje element eller objekt i iterabel, oavsett om det är sant eller inte, enligt givna kriterier. Det andra argumentet är iterabelt eller sekvens som ska filtreras. Funktionen utvärderar varje artikel i iterabel enligt givna kriterier. Slutligen returnerar funktionen filter () den filtrerade iteratorn.
Låt oss se exemplen på filter () -funktionen och implementera den i vårt Python-skript. Vi använder en spyder3-editor för att skapa och köra Python-skript.
Exempel 1: Filtrera listan med siffror
Låt oss skapa listan med siffror och filtrera den. I det givna exemplet utvärderar list_func () varje listobjekt i ett visst tillstånd. Om listobjektet är större än 5 returnerar funktionen true och lägger till objektet i filtret.
# skapar en lista med nummermin_lista = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# skapar en funktion
def list_func (listObj):
# ett villkorligt uttalande för att kontrollera numret
if (listObj> 5):
återvänd True
annan:
återvänd Falskt
# använder filterfunktionen för att filtrera iterabeln genom list_func
siffror = filter (list_func, min_lista)
# skriver ut den nya iteratorn
för jag i siffror:
skriva ut (i)
Produktion
Utgången visar den filtrerade iteratorn. Den filtrerade iteratorn är konstruerad av alla objekt som är större än 5.
Exempel 2: Filtrera listan med tecken
Låt oss skapa listan med tecken och tillämpa filterfunktionen.
# skapar en lista med nummermy_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# skapar en funktion
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# ett villkorligt uttalande för att kontrollera karaktären
if (listObj i ordlista):
återvänd True
annan:
återvänd Falskt
# använder filterfunktionen för att filtrera iterabeln genom list_func
ord = filter (list_func, min_lista)
# skriver ut den nya iteratorn
för jag med ord:
skriva ut (i)
Produktion
Exempel 3: Filtrera jämnt nummer
Låt oss filtrera jämna siffror från den angivna listan med nummer med hjälp av filterfunktionen.
# skapar en lista med nummermin_lista = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# skapar en funktion
def list_func (listObj):
# ett villkorligt uttalande för att kontrollera jämnt nummer
if (listObj% 2 == 0):
återvänd True
annan:
återvänd Falskt
# använder filterfunktionen för att filtrera iterabeln genom list_func
jämnt antal = filter (list_func, min_lista)
# skriver ut den nya iteratorn
för jag i jämnt antal:
skriva ut (i)
Produktion
Exempel 4: Filtrera skottåret
Låt oss filtrera skottåren från den angivna listan över år med hjälp av filterfunktionen.
# skapar en lista med nummermin_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# skapar en funktion
def list_func (listObj):
# ett villkorligt uttalande för att kontrollera skottåret
if (listObj% 4 == 0):
återvänd True
annan:
återvänd Falskt
# använder filterfunktionen för att filtrera iterabeln genom list_func
leap_year = filter (list_func, min_lista)
# skriver ut den nya iteratorn
för jag i språng_år:
skriva ut (i)
Produktion
Utdata visar skottår från den angivna listan över år.
Exempel 5: Använd lambdafunktion med filter ()
Filterfunktionen används mest med lambdafunktion. Låt oss skicka lambdafunktionen som ett argument för att filtrera () -funktionen.
# skapar en lista med nummermin_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#declaring en jämn_variabel
#even_number variabel innehåller jämna siffror
#användning av lambdafunktion
jämnt_nummer = filter (lambda-listaObj: listaObj% 2 == 0, min_lista)
skriv ut ("Listan över jämna nummer")
för jag i jämnt antal:
skriva ut (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, min_lista)
tryck ("Listan över skottår")
för x i språngår:
skriva ut (x)
Produktion
Slutsats
Filtret () är en inbyggd Python-funktion som används för att filtrera iterabeln på en viss funktion. Den här artikeln förklarar filter () -funktionen med exempel.