- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的理解是,对需要包含可哈希对象的两个不同的 frozensets(不可变的 Python 集)进行哈希处理应该会导致两个不同的哈希值。为什么我会得到以下两个不同 frozenset 的输出?
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
最佳答案
您似乎偶然发现了两个具有相同哈希码和不同内容的 frozenset
。这并不像看起来那么奇怪,因为哈希码的属性是保证它们对于相等的对象是相等的,并且对于不相等的对象可能不同。
来自 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
关于python - 具有相同哈希值的不同python frozensets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29958751/
我的 frozenset 输出看起来像这样: 下面的数据只是一个例子。总的来说,我希望数据采用这种格式: 对于 double : 项目项目置信度 对于三元组: 项目项目项目置信度 double : [
考虑以下脚本: # multipleSmallFrozensets is a list of 7 frozensets of differenet number of string objects m
我想将数据框转换为卡住集并将数据框列保留在卡住集中。 例子 x=pd.DataFrame(data=dict(sample=["A","B","C"],lane=[1,1,2])) >>> x
我的理解是,对需要包含可哈希对象的两个不同的 frozensets(不可变的 Python 集)进行哈希处理应该会导致两个不同的哈希值。为什么我会得到以下两个不同 frozenset 的输出? In
请给我一些简单的例子,说明何时使用 frozenset 是帮助我更好地理解这个概念的最佳选择。 最佳答案 frozenset() 对象可以用作字典键和值 inside set() 和 frozense
当我尝试在任何上下文中导入 hashlib 时,它会抛出此错误: File "", line 1, in File "build/bdist.macosx-10.11-intel/egg/has
我刚刚在卡住集上尝试了增广赋值,结果让我吃惊: >>> x = frozenset(['foo', 'bar', 'baz']) >>> x frozenset({'foo', 'baz', 'bar
对于可迭代对象,子类化 frozenset 和 set 似乎并不相同。尝试运行以下 MWE: class MonFrozenSet(frozenset): def __new__(self,
我有一个脚本,它使用由两个变量组成的键对字典进行多次调用。我知道我的程序将以相反的顺序再次遇到这两个变量,这使得将 key 存储为元组变得可行。 (创建行和列具有相同标签的矩阵) 因此,我想知道使用元
比如我有一个卡住的集合 [frozenset({'a', 'c,'}), frozenset({'h,', 'a,'})] 我想把它转换成一个普通的列表 [['a', 'c,'],['a,', 'd,
我想从 frozenset 中获取一个元素(当然不修改它,因为 frozenset 是不可变的)。到目前为止我找到的最佳解决方案是: s = frozenset(['a']) iter(s).next
我一直在研究 Python 3.10 中的结构模式匹配,但不知道如何让它匹配一个集合。例如我试过: a = {1,2,3} match a: case set(1,2,3):
我一直在研究 Python 3.10 中的结构模式匹配,但不知道如何让它匹配一个集合。例如我试过: a = {1,2,3} match a: case set(1,2,3):
当我在 Spyder 中打开规则时,将 apriori 算法应用于市场购物篮优化数据集后,显示 frozenset 对象,而不是显示 frozenset({'light Cream', 'chicke
我试图在 frozenset 中找到一个子字符串,但是我有点无能为力。 我的数据结构是一个 pandas.dataframe(它来自 mlxtend 包中的 association_rules,如果你
在 CPython 中如何实现 frozenset 相等性?特别是,我想知道 fronzenset 中的各个元素如何相互比较以及它们的总时间复杂度。 我看了一下set and frozenset di
我目前有这段代码,它检查数组中的所有元素是否相同。如果是这种情况,则返回 true def all_equal(lst): """ >>> all_equal([1,1,1,1,1,1,1])
我正在尝试从一本使用 Python 的书中学习先验机器学习算法,作为学习的一部分,我目前遇到以下问题: 以下代码结构似乎工作正常: Ck = [[1], [2], [3], [4], [5]]
有人可以解释以下行为吗: class derivedset1(frozenset): def __new__(cls,*args): return frozenset.__ne
我想制作一对两个元素。我不关心元素的顺序,所以我使用frozenset。 我可以想到以下两种方法来迭代从frozenset返回的元素。就没有更高级的方法吗?提前致谢。 pair = frozenset
我是一名优秀的程序员,十分优秀!