浮点值作为字典键 [英] Float values as dictionary key

查看:379
本文介绍了浮点值作为字典键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个分析微量滴定板的课程。样本在单独的文件中描述,并且条目用于有序字典。其中一个关键是pH值,通常用浮点数来表示。例如6.8



我可以使用十进制('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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆