Python filter()

La funzione filter() costruisce un iteratore a partire da elementi di un iterabile per il quale una funzione ritorna True.

Semplificando, filter() filtra l'iterabile dato con l'aiuto di una funzione che verifica che ogni elemento dell'iterabile sia vero o no.

La sintassi del metodo filter() è:

filter(funzione, iterabile)

Il metodo filter() prende due parametri:

  • funzione: la funzione che verifica se gli elementi di un iterabile restituiscono vero o falso.
  • iterabile: l'iterabile che deve essere filtrato, potrebbe essere tipo set, liste, tuple o contenitori di eventuali iteratori.

filter() restituisce un iteratore che ha passato il controllo di funzione per ogni elemento dell'iterabile.

lettere = ['a', 'b', 'd', 'e', 'i', 'j', 'o']

# funzione che filtra le vocali
def filtra_vocali(lettera):
   vocali = ['a', 'e', 'i', 'o', 'u']
   if(lettera in vocali):
       return True
   else:
       return False

vocali_filtrate = filter(filtra_vocali, lettere)

print('Le vocali filtrate sono:')
for vocali in vocali_filtrate:
   print(vocali)