Python

Funkcija filtra Python

Funkcija filtra Python

Filter je vgrajena funkcija Python. Filtrira določeno zaporedje ali iterable s funkcijo, ki preveri, ali je vsak element ali element v iteralu resničen ali napačen. Preprosto povedano, funkcija filtriranja filtrira iterable skozi funkcijo. Dana funkcija preizkusi vsak element zaporedja ali iterabilnost in vrne true, če element izpolnjuje dane kriterije. Posledično funkcija filter () izdela nov iterator. Najpogosteje uporabljeni iterali so seznami, nabori in slovarji. Ta članek na kratko opisuje funkcijo filter () s pomočjo primerov.

Sintaksa funkcije filter ()

Najprej se pogovorimo o sintaksi funkcije filter (). Sintaksa funkcije filter () je naslednja:

file (funkcija, ponovitev ali zaporedje)

Funkcija filtra kot argument vzame dva parametra, tj.e., funkcija in iterable. Funkcija preveri vsak element ali element iterableja, ali je res ali ne, v skladu z danimi merili. Drugi argument je ponovljiv ali zaporedje, ki ga je treba filtrirati. Funkcija oceni vsak element iterableja na podlagi danih meril. Na koncu funkcija filter () vrne filtrirani iterator.

Oglejmo si primere funkcije filter () in jo implementiramo v naš skript Python. Za ustvarjanje in zagon skriptov Python uporabljamo urejevalnik spyder3.

Primer 1: Filtrirajte seznam številk

Ustvarimo seznam številk in ga filtriramo. V danem primeru list_func () oceni vsako postavko seznama pod določenim pogojem. Če je element seznama večji od 5, funkcija vrne true in element doda v filter.

# ustvarjanje seznama številk
moj_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# ustvarjanje funkcije
def list_func (listObj):
# pogojni stavek za preverjanje številke
če (listObj> 5):
vrni True
sicer:
vrnitev False
# Uporaba funkcije filtra za filtriranje iterableja skozi list_func
številke = filter (seznam_func, moj_ seznam)
#printing novega iteratorja
za i v številkah:
natisni (i)

Izhod
Na izhodu se prikaže filtriran iterator. Filtrirani iterator je sestavljen iz vseh tistih elementov, ki so večji od 5.

2. primer: Filtrirajte seznam znakov

Ustvarimo seznam znakov in uporabimo funkcijo filtra.

# ustvarjanje seznama številk
my_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# ustvarjanje funkcije
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# pogojni stavek za preverjanje znaka
if (listObj in word_list):
vrni True
sicer:
vrnitev False
# Uporaba funkcije filtra za filtriranje iterableja skozi list_func
besede = filter (seznam_func, moj_ seznam)
#printing novega iteratorja
za i z besedami:
natisni (i)

Izhod

Primeri 3: Filtrirajte sodo številko

S funkcijo filtriranja filtriramo soda števila s podanega seznama številk.

# ustvarjanje seznama številk
moj_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# ustvarjanje funkcije
def list_func (listObj):
# pogojni stavek za preverjanje sodo številko
če (listObj% 2 == 0):
vrni True
sicer:
vrnitev False
# Uporaba funkcije filtra za filtriranje iterableja skozi list_func
even_numbers = filter (list_func, my_list)
#printing novega iteratorja
za i v parnih_številkah:
natisni (i)

Izhod

Primeri 4: Filtrirajte prestopno leto

S funkcije filtra filtriramo prestopna leta s podanega seznama let.

# ustvarjanje seznama številk
moj_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# ustvarjanje funkcije
def list_func (listObj):
# pogojni stavek za preverjanje prestopnega leta
če (listObj% 4 == 0):
vrni True
sicer:
vrnitev False
# Uporaba funkcije filtra za filtriranje iterableja skozi list_func
preskočno leto = filter (seznam_func, moj_list)
#printing novega iteratorja
za i v preskočnem letu:
natisni (i)

Izhod

Rezultat prikazuje prestopna leta z danega seznama let.

Primeri 5: uporaba lambda funkcije s filtrom ()

Funkcija filtra se večinoma uporablja s funkcijo lambda. Predamo funkcijo lambda kot argument funkciji filter ().

# ustvarjanje seznama številk
moj_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#declaring spremenljivko even_number
Spremenljivka #even_number vsebuje soda števila
# using lambda function
even_number = filter (lambda listObj: listObj% 2 == 0, my_list)
print ("Seznam parnih števil")
za i v even_number:
natisni (i)
preskočno leto = filter (lambda listObj: listObj% 4 == 0, moj_list)
print ("Seznam prestopnih let")
za x v prestopnem letu:
natisni (x)

Izhod

Zaključek

Filter () je vgrajena funkcija Pythona, ki se uporablja za filtriranje iterablea v določeni funkciji. Ta članek s primeri pojasnjuje funkcijo filter ().

Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...