Comment vérifier si une variable en python est un nombre (entier, décimal, etc) ?

Published: 25 juillet 2020

Tags: Python;

DMCA.com Protection Status

Exemples de comment vérifier si une variable en python est un nombre (entier, décimal, etc):

Vérifier si une variable en python est un nombre avec isinstance

Pour vérifier si une variable en python est un nombre (int or float par exemple) une solution est d'utiliser isinstance:

x = 1.2

isinstance(x, (int, float))

donne dans ce cas

True

Tandis que

x = 'abcd'

isinstance(x, (int, float))

retourne

 false

Cas d'une chaîne de caractères

Dans le cas d'une chaîne de caractères comme

x = '1'

la fonction isinstance:

isinstance(x, (int, float))

retourne bien

False

Mais pour tester si cette chaîne de caractères représente un nombre on peut utiliser isdigit, exemple

x = '1'

x.isdigit()

donne ici

True

Filtrer une liste pour ne garder que des nombres

Exemple d'application: soit la liste suivante:

l = [5, 3, 2, 'a', 9, 1, 4, 'NaN']

que l'on peut filtrer pour ne garder que les nombres:

l = [i for i in l if isinstance(i, (int, float))]

print(l)

donne

[5, 3, 2, 9, 1, 4]

Références