如何将dict值转换为float

时间:2018-05-20 10:18:32

标签: python python-3.x python-2.7 dictionary

如何将dict值转换为float

dict1= {'CNN': '0.000002'}

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

我得到的是:

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

但我想要的是浮动值如下:

 0.000002
 <class 'float'> # needed type

4 个答案:

答案 0 :(得分:2)

这里有两件事:首先,s实际上是字典值上的迭代器,而不是值本身。其次,一旦你提取了值,例如通过for循环。好消息是你可以做到这一点:

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

答案 1 :(得分:1)

如果字典中有很多值,您可以在列出值之后将所有值放在列表中,但您还需要更改类型,因为您的值类型为strings而不是float < / p>

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

for value in values:
    print(value)

答案 2 :(得分:1)

您已将数字存储为字符串。引号dict1= {'CNN': '0.000002'}的使用使其成为一个字符串。相反,指定它为`dict1 = {'CNN':0.000002}

代码:

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

输出

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

答案 3 :(得分:0)

要修改现有字典,您可以迭代视图并通过for循环更改值的类型。

这可能是比每次检索值时转换为float更合适的解决方案。

dict1 = {'CNN': '0.000002'}

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

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

<class 'float'>