【发布时间】:2020-03-08 15:39:22
【问题描述】:
在 Python3.7.4 中
当我测试运行它时:
>>> hash((1.000001))
2305843009025
>>> hash(1.000001)
2305843009025
>>> (1.000001) == 1.000001
True
>>> [1.000001] == 1.000001
False
但是为什么:
>>> frozenset({1.000001}) == 1.000001
False
>>> hash(frozenset({1.000001}))
8757482414179413028
float、tuple、frozenset都是可散列的,为什么frozenset比较特殊
【问题讨论】:
-
这里没有元组,你的问题是什么?
frozenset是可散列的。如果不是,您会收到错误消息。 -
第一个不是元组而是浮点数。
-
(1.000001)不是元组 -(1.000001,)是 - 注意逗号。 -
欢迎来到 StackOverflow!你的问题是什么?与您引用的其他类型相比,您认为 freezeset 有哪些特别之处?
-
谢谢大家,现在,我知道我犯了一个愚蠢的错误,我稍后会拉一个解释