Pitone

Funzione filtro Python

Funzione filtro Python

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 numeri
mia_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 numeri
my_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 numeri
mia_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 numeri
mia_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 numeri
mia_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.

Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...
Come sviluppare un gioco su Linux
Un decennio fa, non molti utenti Linux avrebbero previsto che il loro sistema operativo preferito un giorno sarebbe diventato una piattaforma di gioco...
Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...