Python float、tuple和frozenset都是可哈希的,为什么frozenset是特殊的
在Python3.7.4中 当我测试运行此程序时: 哈希((1.000001)) 2305843009025 >>>散列(1.000001) 2305843009025 >>> (1.000001) == 1.000001 真的 >>> [1.000001] == 1.000001 假的 但为什么:Python float、tuple和frozenset都是可哈希的,为什么frozenset是特殊的,python,hash,frozenset,Python,Hash,Frozenset,在Python3.7.4中 当我测试运行此程序时: 哈希((1.000001)) 2305843009025 >>>散列(1.000001) 2305843009025 >>> (1.000001) == 1.000001 真的 >>> [1.000001] == 1.000001 假的 但为什么: >>frozenset({1.000001})==1.000001 假的 >>>散列(frozenset({1.000001})) 8757482414179413028 float、tuple
>>frozenset({1.000001})==1.000001
假的
>>>散列(frozenset({1.000001}))
8757482414179413028
float、tuple和frozenset都是可哈希的,为什么frozenset是特殊的我犯了一个错误。逗号是元组的标识
>>散列(frozenset({1.000001}))
8757482414179413028
>>>散列((1.000001,))
2305846529543933606
>>>散列((1.000001))
2305843009025
>>>散列(1.000001)
2305843009025
>>>类型((1.000001))
>>>类型(1.000001)
这里没有元组,您的问题是什么frozenset
是可散列的。如果不是,您将得到一个错误。第一个不是元组而是浮点。(1.000001)
不是元组-(1.000001,)
是-请注意逗号。欢迎使用StackOverflow!你的问题是什么?与您提到的其他类型相比,您认为frozenset在哪些方面具有特殊性?谢谢大家,现在,我知道我犯了一个愚蠢的错误,稍后我会给出解释