当前位置: 首页 > 面试题库 >

浮点值作为字典键

蓬思博
2023-03-14
问题内容

我正在开发一类分析微量滴定板的课程。样本在单独的文件中描述,并且条目用于有序词典。关键之一是pH,通常以浮点数给出。例如6.8

我可以将其导入为十进制,Decimal('6.8')以避免将浮点数作为dict键。另一种解决方案是将点替换为例如6p8之类的p或在我的样本描述中写入6p8,从而从一开始就消除了问题。但这会在以后引起麻烦,因为我无法在图中绘制6p8的pH值。

您将如何解决这个问题?


问题答案:

使用浮点数作为dict键没有问题。

只是round(n, 1)它们可以将它们标准化为您的键空间。例如。

>>> hash(round(6.84, 1))
3543446220
>>> hash(round(6.75, 1))
3543446220


 类似资料:
  • 问题内容: Java中的“浮点文字”和“浮点文字”是同一东西吗? 另外,在Java中是否有所谓的“双文字”? 问题答案: “浮点文字”是指任何浮点类型的文字。这两个和的浮点类型。 我以前从没碰过“浮点文字”这个词,但我想它的意图与“浮点文字”是一样的。 不过,您应该确保要求澄清, 因为如果作者打算说“浮点文字”,那么那将特别是类型的文字,而不仅仅是一般的浮点类型。 至于Java中浮点文字的特定类型

  • ()中的ValueError回溯(最近一次调用)---- ~\Anaconda3\lib\site packages\sklearn\preprocessing\data.py in fit_transform(self,X,y)2017”““2018年返回所选的fit_transform(X,self.\u fit_transform- ~\Anaconda3\lib\site-包\skLear

  • 问题内容: 这是我的代码,用于将字节数据转换为浮点数。我尝试了本网站给出的所有答案。我正在获取此“ <44fa0000>”字节数据的指数值 谢谢 问题答案: 是二进制浮点数的 big-endian 内存表示形式。要从数据中获取数字,您必须先将其读入,从big-endian转换为主机字节序,然后将结果转换为a 。 在 Swift 2 中 例: 在 Swift 3中, 您可以使用代替,而 可以用 初始

  • 问题内容: 我刚刚阅读了有关浮点值比较的声明 不得使用==或!=运算符比较浮点值。大多数浮点值没有精确的二进制表示形式,并且精度有限。 如果是这样,比较两个浮点值的最佳方法是什么? 问题答案: 以下扩展方法对于实现Kevin的建议可能有用: 现在,您可以执行以下操作: 只需将更改为更合适的名称,或在需要时将默认边距更改为比更好的值。

  • 对于这些代码行,我得到0作为输出,即它们都是相等的。现在,如果我理解正确,a b和c可能会存储稍微不同版本的真值.3因此,当做一个Float.compare(...)对这些值,我希望得到一个输出值,而不是0。为什么我把它们取为0?

  • 问题内容: 我试图找出最好的方式来添加值到这是一个在。我想建立一个按联系人名字的首字母排序的联系人字典。例如[A:[Aaron,Adam等…],B:[Brian,Brittany等],…] 我发现此功能: 并尝试在循环中使用它: 但是当我尝试使用它时,它用一个新数组替换了现有数组。我知道我可以手动检查字典中的键是否存在,如果存在,则检索数组,然后附加一个新值,否则添加新的键/值对,但是我不确定Sw