Ci sono dei casi in cui usare la funzione .split() può generare dei valori "vuoti" all'interno della lista prodotta.
In alcuni casi, questo è utile e quell'elemento va mantenuto. Potrebbe però esserci la necessità di processare solo i valori presenti in una stringa e magari in questa stringa ci sono degli "spazi di troppo"... lo split (che non utilizza espressioni regolari) non riesce a distinguere un singolo carattere " " (uno spazio) da un "blocco di spazi".
Come si tolgono, quindi, gli elementi vuoti? Con la funzione filter.
Funzionamento di base
La funzione applica ad ogni elemento "iterable" una funzione passata, usando questo formato:
f = filter(lambda x: x > 18, userAgeList)
Rimozione delle stringhe vuote
Se però noi al posto della funzione passiamo None, la funzione rimuove tutti i valori che sono considerati "nulli" da Python (per cui la stringa vuota, gli zeri, il valore None):
f = filter(None, userAgeList)
Se invece abbiamo una lista "mista" e vogliamo togliere esclusivamente i valori "" (e non 0 o None), bisogna specificare una funzione precisa:
f = filter(lambda x: x != '', s)
Nessun commento:
Posta un commento