我本以为
>>> hash(0)
0
>>> import math
>>> hash(math.nan)
0会导致频繁的哈希冲突。为什么他们都被打散为零?
发布于 2022-03-25 02:43:15
float类型和decimal.Decimal类型)现在取决于对象标识。以前,它们总是散列到0,即使NaN值彼此不相等。这会导致潜在的二次运行时行为,因为在创建包含多个NaNs的字典和集时会产生过多的哈希冲突。(由Raymond在bpo-43475.)https://stackoverflow.com/questions/71611482
复制相似问题