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]