Funzione filter per filtrare oggetti in Python

Studiamo ora la funzione filter. Permette di filtrare elementi di liste e altri oggetti iterabili in base a una determinata condizione. Come primo parametro accetta una funzione, che definisce la condizione da verificare. Nel secondo parametro si specifica la lista i cui elementi verranno filtrati. Se la funzione restituisce True, l'elemento rimane nella nuova lista. Se restituisce False, l'elemento non entrerà nella lista.

Supponiamo di avere una lista:

pythonlst = [1, 2, 3, 4, 5, 6]

Lasciamo in essa solo i numeri pari. A tale scopo, utilizzando una funzione lambda, specifichiamo che il numero passato come suo parametro deve essere divisibile per 2 senza resto:

pythonres = filter(lambda num: num % 2 == 0, lst)
print(list(res))

Dopo l'esecuzione del codice, verrà restituita una nuova lista:

python[2, 4, 6]
Задание 1

Data una lista di numeri:

pythonlst = [1, 2, 3, 4, 5]

Registra in una nuova lista solo i numeri dispari di questa lista.

Задание 2

Data una lista di stringhe:

pythonlst = ['abcd', 'ab', 'c', 'de', 'bc']

Registra in una nuova lista solo le stringhe la cui lunghezza è uguale a 2.