• 不同的python frozensets具有相同的哈希值

    我的理解是,散列两个不同的frozensets(不可变的 Python集),需要包含可散列的对象,应该导致两个不同的散列.为什么我得到两个不同的冷冻器的输出?

    In [11]: a
    Out[11]: frozenset({(2, -2), (2, -1), (3, -2), (3, -1)})
    
    In [12]: b
    Out[12]: frozenset({(4, -2), (4, -1), (5, -2), (5, -1)})
    
    In [13]: hash(a)
    Out[13]: 665780563440688
    
    In [14]: hash(b)
    Out[14]: 665780563440688
    你似乎偶然发现了两个具有相同哈希码和不同内容的frozensets.这并不奇怪,因为它可能看起来像哈希码的属性是它们保证对于相等的对象是相等的,并且对于不相等的对象可能是不同的.

    从Python文档:

    hash(object) -> integer

    Return a hash value for the object. Two objects with the same value have
    the same hash value. The reverse is not necessarily true, but likely.

    最简单的例子是数字-1和-2,它们在python中具有相同的哈希码:

    >>> print(hash(-1))
    -2
    >>> print(hash(-2))
    -2
    相关文章
    相关标签/搜索
    每日一句
      每一个你不满意的现在,都有一个你没有努力的曾经。
    公众号推荐
       一个历史类的公众号,欢迎关注
    一两拨千金
    4887铁筼结果开奖结果小说 祥云县| 北海市| 凯里市| 怀来县| 乐清市| 衡阳市| 曲周县| 积石山| 连云港市| 涿州市| 澳门| 大庆市| 剑阁县| 安阳市| 渑池县| 阿克苏市| 建水县| 丰原市| 界首市| 阜康市| 博爱县| 遵义市| 师宗县| 白朗县| 简阳市| 高要市| 南丰县| 信丰县| 赣榆县| 井陉县| 米易县| 凤台县| 昌吉市| 淮滨县| 大化| 宿州市| 山东省| http://fa.hz0j0r6vo.fun http://fa.hz0j2r8vo.fun http://fa.hz0j1r3vo.fun http://fa.hz0j0r2vo.fun http://fa.hz0j2r1vo.fun