14 votes

Comment convertir une valeur dictée en un flottant

Comment convertir une valeur dictée en flottant

dict1= {'CNN': '0.000002'}

s=dict1.values()
print (s)
print (type(s))

Ce que je reçois est :

dict_values(['0.000002'])
<class 'dict_values'> # type, but need it to be float

mais ce que je veux, c'est la valeur flottante comme ci-dessous :

 0.000002
 <class 'float'> # needed type

7voto

jpp Points 83462

Pour modifier votre dictionnaire existant, vous pouvez itérer sur une vue et changer le type de vos valeurs via une balise for boucle.

Cela peut être une solution plus appropriée que de convertir en float à chaque fois que vous récupérez une valeur.

dict1 = {'CNN': '0.000002'}

for k, v in dict1.items():
    dict1[k] = float(v)

print(type(dict1['CNN']))

<class 'float'>

5voto

Paula Thomas Points 1

Deux choses ici : premièrement, s est, en fait, un itérateur sur les valeurs du dictionnaire, et non les valeurs elles-mêmes. Deuxièmement, une fois que vous avez extrait la valeur, par exemple par une boucle for, la bonne nouvelle est que vous pouvez faire cela en une seule ligne :

print(float([x for x in s][0]))

1voto

Druta Ruslan Points 4058

Si vous avez beaucoup de valeurs dans un dictionnaire, vous pouvez mettre toutes les valeurs dans une liste et ensuite prendre les valeurs, mais vous devez aussi changer le type parce que vos valeurs sont de type strings no float

dict1= {'CNN': '0.000002'}
values = [float(x) for x in list(dict1.values())]

for value in values:
    print(value)

1voto

Shaz Points 109

Vous avez stocké le nombre dans une chaîne de caractères. L'utilisation des guillemets dict1= {'CNN': '0.000002'} en fait une chaîne de caractères. Au lieu de cela, attribuez-lui `dict1= {'CNN' : 0.000002}

Code :

dict1= {'CNN': 0.000002}
s=dict1.values()
print (type(s))
for i in dict1.values():
    print (type(i))

Sortie :

<class 'dict_values'>
<class 'float'>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X