浮点值作为字典键 [英] Float values as dictionary key
问题描述
我可以使用十进制('6.8')
导入为十进制,以避免浮动dict键。另一个解决方案是用例如pp 6p8替换点,或者在我的示例描述中写入6p8,因此在开始时消除了问题。但是这样会导致麻烦,因为我无法在图中绘制6p8的pH值。
您将如何解决这个问题?
使用floats作为dict键没有问题。
只需 round(n, 1)
他们将它们归一化到你的密钥空间。例如
>>> hash(round(6.84,1))
3543446220
>>>>哈希(圆(6.75,1))
3543446220
I am developing a class for the analysis of microtiter plates. The samples are described in a separate file and the entries are used for an ordered dictionary. One of the keys is pH, which is usually given as float. e.g 6.8
I could import it as decimal with Decimal('6.8')
in order to avoid a float as dict key. Another solution would be to replace the dot with e.g p like 6p8 or to write 6p8 in my sample description and therefore eliminating the problem at the beginning. But this would cause troubles later on since i cannot plot pH of 6p8 in my figures.
How would you solve this issue?
There's no problem using floats as dict keys.
Just round(n, 1)
them to normalise them to your keyspace. eg.
>>> hash(round(6.84, 1))
3543446220
>>> hash(round(6.75, 1))
3543446220
这篇关于浮点值作为字典键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!