2024-05-16 20:11:03 发布
网友
我正在开发一门分析微量滴定板的课程。样本在单独的文件中描述,条目用于有序字典。其中一个关键是pH值,通常以float形式给出。e、 g 6.8国
我可以用Decimal('6.8')将其导入为十进制,以避免使用浮点作为dict键。另一个解决方案是用类似于6p8的p替换点,或者在我的示例描述中写入6p8,从而在开始时消除问题。但这会在以后引起麻烦,因为我无法在我的数字中描绘出6 p8的pH值。
Decimal('6.8')
你将如何解决这个问题?
也许您想在使用is作为键之前截断浮点值?
可能是这样的:
a = 0.122334 round(a, 4) #<-- use this as your key?
你的钥匙现在是:
0.1223 # still a float, but you have control over its quality
使用方法如下:
dictionary[round(a, 4)]
找回你的价值观
使用浮点数作为dict键没有问题。
只要round(n, 1)它们就可以正常化到您的键空间。例如
round(n, 1)
>>> hash(round(6.84, 1)) 3543446220 >>> hash(round(6.75, 1)) 3543446220
另一种选择是使用元组:
dictionary = {(6.8,): 0.3985} dictionary[(6.8,)]
然后,稍后检索值以进行绘图很容易
points = [(pH, value) for (pH,), value in dictionary.items()] ...
也许您想在使用is作为键之前截断浮点值?
可能是这样的:
你的钥匙现在是:
使用方法如下:
找回你的价值观
使用浮点数作为dict键没有问题。
只要
round(n, 1)
它们就可以正常化到您的键空间。例如另一种选择是使用元组:
然后,稍后检索值以进行绘图很容易
相关问题 更多 >
编程相关推荐