提升 Python 哈希

Posted

技术标签:

【中文标题】提升 Python 哈希【英文标题】:Boost Python Hash 【发布时间】:2014-03-06 22:28:28 【问题描述】:

在 Boost::Python 中是否有一个函数可以让您获得 boost::python::object 的哈希值,也就是相当于 Python 的 hash 函数?我一直在阅读文档,但似乎没有提及任何内容。

【问题讨论】:

可能相关:***.com/a/15180520/85371 【参考方案1】:

hash 在 python 中是用 C 端的 PyObject_Hash 实现的。如果你有一个随机对象obj,你可以简单地调用:

long hash = PyObject_Hash(obj.ptr())

boost::python::object 上的 ptr() 方法返回一个具有对该对象的借用引用的 PyObject *

一般来说,CPython API 中有很多东西没有被 boost::python 包裹。直接调用就很简单了。

【讨论】:

我使用过 C API,但我希望我不必经历那些水域......哦,好吧。 真的还不错。在这种情况下几乎没有缺点。

以上是关于提升 Python 哈希的主要内容,如果未能解决你的问题,请参考以下文章

自适应哈希索引

Python算法哈希存储哈希表散列表原理

使用python实现哈希表字典集合

python hash()和哈希算法

python之哈希算法

Python实现哈希表