如何将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
答案 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'>