[Python 3.1]
我正在尝试为容器创建一个哈希,该容器可能包含嵌套容器,深度未知。在层次结构的所有级别,只有内置类型。有什么好办法呢?
为什么我需要它:
我在一个pickle对象(磁盘上)缓存了一些计算的结果。如果使用不同的参数调用该函数,我将需要使该缓存文件无效(这种情况很少发生,所以我不打算将多个文件保存到磁盘)。哈希将用于比较参数。
答案 0 :(得分:2)
如果所有容器都是元组,并且所有包含的对象都是可清洗的,那么主容器应该是可以清洗的。
答案 1 :(得分:1)
您可以将参数序列化为类似JSON的内容,并将其用于散列。
答案 2 :(得分:0)
我会用json序列化作为字符串[然后如果它仍然需要则散列该字符串]。
from simplejson import dumps
def hash_data(data):
return hash(dumps(data))