栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中无法哈希的查找表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中无法哈希的查找表

以可变对象作为键的映射通常很困难。那真的是你想要的吗?如果您认为对象是不可变的(在Python中无法真正实现不可变性),或者您知道在将它们用作映射的键​​时它们不会被更改,则可以在其中实现自己的哈希函数几种方法。例如,如果您的对象仅具有可哈希的数据成员,则可以将所有数据成员的元组的哈希作为对象哈希返回。

如果您的对象是类似dict的对象,则可以使用所有键值对的冻结集的哈希。

def __hash__(self):    return hash(frozenset(self.iteritems()))

仅当所有值都是可哈希的时,这才起作用。为了保存对哈希的重新计算(将在每次查找中完成),您可以缓存哈希值,如果设置了脏标志,则只需重新计算即可。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号