Python: verificare se tutti gli elementi di una lista sono dello stesso tipo

Python: verificare se tutti gli elementi di una lista sono dello stesso tipo

In questo articolo vedremo come verificare se tutti gli elementi di una lista appartengono allo stesso tipo di dati in Python.

Possiamo sfruttare le funzioni isistance() e all(): la prima ci permette di verificare se un dato รจ un'istanza di un determinato oggetto core del linguaggio, mentre la seconda restituisce il valore booleano True se tutti gli elementi di un oggetto Iterable sono True. Combinando queste due funzioni con la list comprehension, possiamo definire la seguente funzione di utility.

def all_numbers(numbers=None):
    if not isinstance(numbers, list):
        return False
    if len(numbers) == 0:
        return False
    maybe_numers = [True if isinstance(n, int) else False for n in numbers]
    return all(maybe_numers)

Esempio d'uso:

nums = [1, 5, 6, 7]
mixed = [2, 3, 'a', 8]

print(all_numbers(nums)) # True
print(all_numbers(mixed)) # False
Torna su