
La funzione any() in Python
La funzione any() in Python restituisce True se almeno un elemento di un oggetto iterabile (come una lista, un set, un dizionario, una stringa, ecc.) è True.
any(oggetto)
Dove l'oggetto è l'etichetta dell'oggetto iterabile in cui vuoi verificare se esiste almeno un elemento uguale a True.
La funzione any restituisce
- True
Quando trova un elemento True all'interno dell'oggetto iterabile - False
Se l'oggetto iterabile è vuoto oppure non contiene nemmeno un elemento True.
Ricorda che la funzione any() termina la ricerca e restituisce True non appena trova il primo elemento True. Quindi non necessariamente controlla tutti gli elementi dell'oggetto iterabile. Questo è particolarmente utile se stai lavorando con grandi quantità di dati.
Ecco un esempio pratico.
Crea una lista con quattro valori booleani.
>>> booleans = [False, False, True, False]
Ora verifica se all'interno c'è almeno un valore True, utilizzando la funzione any()
>>> any(booleans)
In questo esempio c'è almeno un True nella lista booleans.
Quindi, any(booleans) restituisce True.
True
Nota che la funzione any() termina la ricerca dopo tre iterazioni, quindi non verifica il quarto elemento della lista per determinare se è True o False, in quanto ha già trovato un elemento True.
Questa condizione è sufficiente per restituire il risultato senza perdere altro tempo.
Adesso crea questa lista.
>>> booleans = [False, False, False, False]
Poi esegui nuovamente la funzione any()
>>> any(booleans)
In questo caso l'istruzione any() restituisce False dopo aver controllato tutti gli elementi della lista, perché non trova nemmeno un elemento True al suo interno.
False
Ti faccio un altro esempio.
Crea una lista di numeri.
>>> numbers = [0, 1, 2, 3]
Poi verifica se esiste almeno un elemento True all'interno della lista.
>>> any(numbers)
La funzione any() restituisce True perché in Python tutti i numeri diversi da zero sono considerati True.
True
In questo caso la funzione compie due iterazioni prima di restituire il risultato. La ricerca termina quando trova il valore 1.
Infine, crea una lista vuota.
>>> empty = []
Poi verifica se contiene almeno un elemento True usando la funzione any()
>>> any(empty)
In quest'ultimo esempio la funzione any() restituisce False, perché la lista è vuota.
False