Il filtro è una funzione Python incorporata. Filtra la sequenza specificata o iterabile attraverso una funzione che controlla che ogni elemento o elemento nell'iterabile sia vero o falso. Per dirla semplicemente, la funzione di filtro filtra l'iterabile attraverso una funzione. La funzione data verifica ogni elemento della sequenza o iterabile e restituisce il vero se l'elemento soddisfa i criteri indicati given. Di conseguenza, la funzione filter() costruisce un nuovo iteratore. Gli iterabili più comunemente usati sono elenchi, tuple e dizionari. Questo articolo descrive brevemente la funzione filter() con l'aiuto di esempi.
Sintassi della funzione filter()
Discutiamo prima la sintassi della funzione filter(). La sintassi della funzione filter() è la seguente:
filet(funzione, iterabile o sequenza)La funzione di filtro accetta due parametri come argomento, i.e., funzione e un iterabile. La funzione controlla ogni elemento o elemento dell'iterabile, che sia vero o meno, secondo determinati criteri. Il secondo argomento è iterabile o sequenza da filtrare. La funzione valuta ogni elemento dell'iterabile sui criteri dati. Infine, la funzione filter() restituisce l'iteratore filtrato.
Vediamo gli esempi della funzione filter() e implementiamola nel nostro script Python. Stiamo usando un editor spyder3 per creare ed eseguire gli script Python.
Esempio 1: filtra l'elenco dei numeri
Creiamo la lista dei numeri e filtriamola. Nell'esempio fornito, list_func() valuta ogni elemento dell'elenco in una determinata condizione. Se l'elemento dell'elenco è maggiore di 5, la funzione restituisce true e aggiunge l'elemento al filtro.
#creare una lista di numerimia_lista = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#creare una funzione
def list_func(listObj):
# una dichiarazione condizionale per controllare il numero
if(listObj>5):
ritorna Vero
altro:
ritorno Falso
#usando la funzione di filtro per filtrare l'iterabile tramite list_func
numeri = filter(list_func,my_list)
#stampa il nuovo iteratore
per io in numeri:
stampa(i)
Produzione
L'output mostra l'iteratore filtrato. L'iteratore filtrato è costituito da tutti quegli elementi che sono maggiori di 5.
Esempio 2: filtra l'elenco dei caratteri
Creiamo la lista dei caratteri e applichiamo la funzione filtro filter.
#creare una lista di numerimy_list = ['a','b','c','l','d','i','k','n','o','u','x']
#creare una funzione
def list_func(listObj):
word_list=['l', 'i', 'n', 'u', 'x']
# un'istruzione condizionale per controllare il carattere
if(listObj in word_list):
ritorna Vero
altro:
ritorno Falso
#usando la funzione di filtro per filtrare l'iterabile tramite list_func
parole = filter(list_func,my_list)
#stampa il nuovo iteratore
per io a parole:
stampa(i)
Produzione
Esempi 3: filtra il numero pari
Filtriamo i numeri pari dall'elenco di numeri fornito utilizzando la funzione di filtro.
#creazione di una lista di numerimia_lista = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#creare una funzione
def list_func(listObj):
# un'istruzione condizionale per controllare il numero pari
if(listObj%2==0):
ritorna Vero
altro:
ritorno Falso
#usando la funzione di filtro per filtrare l'iterabile tramite list_func
numeri_pari= filter(list_func,my_list)
#stampa il nuovo iteratore
per io in numeri_pari:
stampa(i)
Produzione
Esempi 4: Filtrare l'anno bisestile
Filtriamo gli anni bisestili dall'elenco di anni fornito utilizzando la funzione di filtro.
#creazione di una lista di numerimia_lista = [2010,2012,2014,2016,2018,2020,2022,2024]
#creare una funzione
def list_func(listObj):
# una dichiarazione condizionale per controllare l'anno bisestile
if(listObj%4==0):
ritorna Vero
altro:
ritorno Falso
#usando la funzione di filtro per filtrare l'iterabile tramite list_func
anno_bisestile= filter(list_func,my_list)
#stampa il nuovo iteratore
per io nell'anno bisestile:
stampa(i)
Produzione
L'output mostra gli anni bisestili dall'elenco di anni fornito.
Esempi 5: utilizzo della funzione lambda con filter()
La funzione filtro viene utilizzata principalmente con la funzione lambda. Passiamo la funzione lambda come argomento alla funzione filter().
#creare una lista di numerimia_lista = [2010,2012,2014,2016,2018,2020,2022,2024]
#dichiarare una variabile numero_pari
La variabile #even_number contiene i numeri pari
#usando la funzione lambda
even_number = filter(lambda listObj:listObj%2==0,my_list)
print("L'elenco dei numeri pari")
per io in numero_pari:
stampa(i)
bisestile = filter(lambda listObj:listObj%4==0,my_list)
print("L'elenco degli anni bisestili")
per x nell'anno bisestile:
stampa(x)
Produzione
Conclusione
Il filtro() è una funzione incorporata in Python che viene utilizzata per filtrare l'iterabile su una determinata funzione. Questo articolo spiega la funzione filter() con esempi.