相关疑难解决方法(0)

哈希字典?

出于缓存目的,我需要从dict中存在的GET参数生成缓存键.

目前我正在使用sha1(repr(sorted(my_dict.items())))(sha1()是一种在内部使用hashlib的便捷方法),但我很好奇是否有更好的方法.

python hash dictionary

135
推荐指数
9
解决办法
8万
查看次数

为任意对象创建哈希?

我一直在使用pickle.dumps以便为任意Python对象创建哈希,但是,我发现dict/set命令不是规范化的,因此结果是不可靠的.

在SO和其他地方几个 相关的 问题,但我似乎找不到使用相同基础进行相等(/ 结果)的哈希算法.我理解滚动自己的基本要求,但显然我更喜欢使用经过测试的东西.__getstate____dict__

这样的图书馆存在吗?我想我实际要求的是一个确定性地序列化对象的库(使用__getstate____dict__),这样我就可以对输出进行散列.

编辑

为了澄清,我正在寻找与Python hash(或__hash__)返回的值不同的东西.我想要的本质上是任意对象的校验和,可能是也可能不是.该值应根据对象的状态而变化.(我正在使用"状态"来指代由其重新调整的字典,__getstate__或者,如果不存在,则指对象的__dict__.)

python

7
推荐指数
1
解决办法
2212
查看次数

Python:如何创建嵌套容器的哈希

[Python 3.1]

我正在尝试为容器创建一个哈希,其中可能有嵌套容器,深度未知.在层次结构的所有级别,只有内置类型.有什么好办法呢?

为什么我需要它:

我在一个pickle对象(在磁盘上)缓存一些计算的结果.如果使用不同的参数调用该函数,我将需要使该缓存的文件无效(这种情况很少发生,因此我不打算将多个文件保存到磁盘).哈希将用于比较参数.

python hash containers nested python-3.x

5
推荐指数
1
解决办法
478
查看次数

标签 统计

python ×3

hash ×2

containers ×1

dictionary ×1

nested ×1

python-3.x ×1