Pytonorm

Python-filterfunktion

Python-filterfunktion

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 nummer
min_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 nummer
my_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 nummer
min_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 nummer
min_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 nummer
min_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.

Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...