How to convert dict value to a float
本问题已经有最佳答案,请猛点这里访问。
如何将dict值转换为float
1 2 3 4 5 | dict1= {'CNN': '0.000002'} s=dict1.values() print (s) print (type(s)) |
我得到的是:
1 2 | dict_values(['0.000002']) <class 'dict_values'> # type, but need it to be float |
但我想要的是下面的浮点值:
1 2 | 0.000002 <class 'float'> # needed type |
这里有两件事:第一,实际上,s是字典值的迭代器,而不是值本身。其次,一旦您提取了值,例如通过for循环。好消息是您可以这样做,这是一行:
1 | print(float([x for x in s][0])) |
您已将数字存储为字符串。引号
代码:
1 2 3 4 5 | dict1= {'CNN': 0.000002} s=dict1.values() print (type(s)) for i in dict1.values(): print (type(i)) |
输出:
1 2 | <class 'dict_values'> <class 'float'> |
如果字典中有许多值,则可以将所有值放在一个列表中,然后取值,但还需要更改类型,因为您的值的类型是
1 2 3 4 5 | dict1= {'CNN': '0.000002'} values = [float(x) for x in list(dict1.values())] for value in values: print(value) |
要修改现有的字典,可以迭代视图,并通过
这可能是比每次检索值时转换为
1 2 3 4 5 6 7 8 | dict1 = {'CNN': '0.000002'} for k, v in dict1.items(): dict1[k] = float(v) print(type(dict1['CNN'])) <class 'float'> |