Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Funzione Filter in Uso | Funzioni di Ordine Superiore e Lambda
Concetti di Programmazione Funzionale in Python
Sezione 2. Capitolo 3
single

single

bookFunzione Filter in Uso

Scorri per mostrare il menu

Hai già visto come le funzioni di ordine superiore come map permettano di applicare una funzione a ciascun elemento di una sequenza. Un'altra funzione di ordine superiore fondamentale in Python è filter.

La funzione filter viene utilizzata per selezionare elementi da una sequenza in base al fatto che soddisfino o meno una certa condizione. Prende due argomenti: una funzione che restituisce True o False per ciascun elemento e la sequenza da filtrare. Il risultato è un iteratore che contiene solo quegli elementi per cui la funzione restituisce True. Questo rende filter particolarmente utile quando si desidera estrarre elementi specifici da una lista, una tupla o un altro iterabile in base a un criterio, come numeri pari, valori positivi o stringhe di una certa lunghezza.

123456
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
copy

Questo codice utilizza la funzione filter() per creare una nuova lista contenente solo i numeri interi pari da una collezione esistente. Funziona definendo una funzione predicato, is_even(n). La funzione filter itera sulla lista numbers, applicando questo controllo a ogni elemento ed escludendo quelli che non soddisfano la condizione. Infine, l'oggetto filter risultante viene convertito nuovamente in una lista, producendo l'output.

Note
Nota

Quando si utilizza la funzione filter, questa restituisce un oggetto filter, che è un iteratore — non una lista. Se si stampa direttamente il risultato di filter, si otterrà un output simile a:

<filter object at 0xfffec885eb30>

Per accedere ai valori filtrati come lista, è necessario convertire l'oggetto filter utilizzando list().

Compito

Scorri per iniziare a programmare

Utilizzerai la funzione filter per selezionare i numeri positivi da una lista.

  • La funzione is_positive deve restituire True se l'argomento è maggiore di zero, altrimenti False.
  • La funzione filter_positive deve utilizzare la funzione filter insieme a is_positive per creare una nuova lista contenente solo i numeri positivi della lista di input.
  • La funzione deve restituire questa nuova lista.
  • Ricorda di rimuovere pass.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt