python-是否有一个不存储值的类似Set的对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-是否有一个不存储值的类似Set的对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含807字,纯文字阅读大概需要2分钟。
内容图文
![python-是否有一个不存储值的类似Set的对象?](/upload/InfoBanner/zyjiaocheng/656/58660cbdfe46461c9a37d66500aa5436.jpg)
我想要一种数据类型,该数据类型将使我能够有效地跟踪已“添加”到该对象的对象,从而使我能够测试成员资格.我不需要任何其他功能.
据我所知,Python没有这种数据类型.最接近我想要的是Set,但该set始终会存储值(我不需要).
目前,我能想到的最好的方法是获取每个对象的hash()并将其存储在集合中,但是在较低级别上,将计算哈希的哈希,并将哈希字符串作为值存储.
有没有一种方法可以仅使用Set的低级查找功能,而无需实际指向任何内容?
解决方法:
基本上没有,因为,正如我在评论中指出的那样,两个不相等的对象完全有可能共享相同的哈希键.
哈希键不是指向任何对象或对象,而是指向包含零个或多个对象的存储桶.然后,集合实现需要对每个对象进行相等性比较,以找出对象是否在集合中.
因此,您始终至少需要足够的信息来进行相等比较.如果您有非常大的对象,可以根据其数据子集(例如2或3个字段)决定是否相等,则可以考虑仅使用这些字段创建一个新对象,并将其存储在集合中,而不是整个对象中.
内容总结
以上是互联网集市为您收集整理的python-是否有一个不存储值的类似Set的对象?全部内容,希望文章能够帮你解决python-是否有一个不存储值的类似Set的对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。