Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中实现一个good_hash_function?

如何在python中实现一个good_hash_function?

提问于 2018-03-01 16:22:28
回答 2关注 0查看 113

当实现具有多个属性的类时(如下面的玩具示例所示),处理散列的最佳方法是什么?

我猜__eq____hash__应该是一致的,但是如何实现一个能够处理所有属性的正确的散列函数呢?

代码语言:txt
AI代码解释
复制
class AClass:
  def __init__(self):
      self.a = None
      self.b = None

  def __eq__(self, other):
      return other and self.a == other.a and self.b == other.b

  def __ne__(self, other):
    return not self.__eq__(other)

  def __hash__(self):
      return hash((self.a, self.b))

所以我想知道上面的例子是否合理。是吗?

回答 3

小包子

发布于 2018-07-04 08:08:07

将昵称中的 Emoji 表情过滤掉,如果昵称全是 Emoji 表情,则用一个默认昵称代替用户的微信昵称

罗坤

发布于 2018-07-04 08:07:51

楼主找到答案了吗,我也遇到了同样的问题

时间的沙漏

发布于 2018-07-04 02:02:58

这是为什么呢?

和开发者交流更多问题细节吧,去 写回答
相关文章
如何在Python中实现RFM分析
本文介绍了如何利用Python实现RFM分析。首先,介绍了RFM分析的基本概念,然后详细讲解了如何在Python中实现这个过程。主要包括计算RFM各项分值、归总RFM分值、根据RFM分值对客户分类以及具体的算法实现。最后,介绍了在Python中应用RFM分析的示例代码。
Erin
2018/01/09
4.2K0
如何在Python中实现RFM分析
如何在Python中实现矩阵分析
Erin
2018/01/09
2.8K0
如何在Python中实现矩阵分析
Python小姿势 - 如何在Python中实现反射?
在计算机编程中,反射是一种能够让计算机程序在运行时自己编译和执行的能力。这种能力的引入使得计算机程序可以在运行时动态地获取、操作和修改它们自身的结构。
不吃西红柿
2023/04/28
5430
如何在Python中实现高效的日志记录
日志记录是软件开发中的重要组成部分,它可以帮助我们监控程序运行状态、诊断问题和优化性能。本文将详细介绍如何在Python中实现高效的日志记录,并提供详细的代码示例。
华科云商小彭
2023/08/29
6390
如何在Python中实现高效的日志记录
高级Python技术:如何在Python应用程序中实现缓存
简而言之,缓存的概念主要是利用编程技术将数据存储在临时位置,而不是每次都从源检索数据。
HuangWeiAI
2021/02/05
1.8K0
如何在Python中从零开始实现随机森林
决策树可能会受到高度变异的影响,使得结果对所使用的特定测试数据而言变得脆弱。
花落花飞去
2018/02/23
5.6K0
如何在Python中从零开始实现随机森林
如何在一个python程序中运行另外一个程序
将另外一个python程序封装成一个我们想要运行的模块,在模块里面,将所有代码放到一个函数里面,在另外一个程序中导入运行就可以了。
叶子陪你玩
2020/03/12
5.7K0
如何在Python中从零开始实现随机森林
决策树可能会受到高度变化的影响,使得结果对所使用的特定训练数据而言变得脆弱。
老人雨何
2018/02/07
2.3K0
如何在Python中从零开始实现随机森林
如何在 Python 中清屏
在很多时候,如果我们在控制台中使用 Python, 随着时间的推移,可能会发现屏幕越来越乱。
HoneyMoose
2021/03/08
3.2K0
如何在 Python 中清屏
如何在 Python 中清屏
在很多时候,如果我们在控制台中使用 Python, 随着时间的推移,可能会发现屏幕越来越乱。
HoneyMoose
2021/03/11
4.3K0
如何在 Python 中清屏
如何在一个python程序中运行另外一个程序(二)
为了更有互动性和选择性,这时你突然有一个想法,制作一个新的启动程序,程序开始会问我想问我玩那个游戏,提供 1 和 2两种选择,当我输入1时,就会启动游戏 1,选择2的时候就会启动游戏2。
叶子陪你玩
2020/03/12
3.3K0
python中HashMap的一个实现
class LinearMap(object): def __init__(self): self.items = [] def add(self, k, v): self.items.append((k, v)) def get(self, k): for key, val in self.items: if key == k: return val rai
py3study
2020/01/08
7620
如何在Python中实现安全的密码存储与验证
在现代互联网时代,安全性已经成为一个非常重要的问题。在我们的日常生活中,我们会使用许多网站和应用程序,而这些网站和应用程序通常要求我们提供密码来保护我们的个人信息。然而,密码泄露事件时有发生,我们经常听到关于黑客攻击和数据泄露的新闻。那么,如何在Python中实现安全的密码存储与验证呢?本文将向你介绍一些实际的操作和技术。
华科云商小徐
2023/09/27
1.8K0
Python小姿势 - # 如何在Python中实现基本的数据类型
Python是一门面向对象的编程语言,基本的数据类型包括整数、浮点数、字符串、布尔值、列表、元组、字典等。
不吃西红柿
2023/05/02
1K0
如何在SwiftUI中实现interactiveDismissDisabled
由于健康笔记[2]中数据录入都是在Sheet中进行的,为了防止用户在录入过程中由于误操作(使用手势取消Sheet)丢失数据,因此,从最初的版本开始,我就一直使用各种手段加强对Sheet的控制。
东坡肘子
2022/07/28
4.2K0
如何在SwiftUI中实现interactiveDismissDisabled
如何在 MongoDB 中实现事务
在 MongoDB 中,事务可以用于在一个或多个集合上执行多个操作。事务可以帮助确保数据的一致性和可靠性。
玖叁叁
2023/04/14
2.7K0
[记录点滴] 一个Python中实现flatten的方法
之前如果想使用flatten,一般借助于numpy.ndarray.flatten。
罗西的思考
2020/09/07
6060
如何在Python中实现高效的数据处理与分析
在当今信息爆炸的时代,我们面对的数据量越来越大,如何高效地处理和分析数据成为了一种迫切的需求。Python作为一种强大的编程语言,提供了丰富的数据处理和分析库,帮助我们轻松应对这个挑战。本文将为您介绍如何在Python中实现高效的数据处理与分析,以提升工作效率和数据洞察力。
华科云商小徐
2023/09/26
5750
点击加载更多

相似问题

Python如何实现一个系数矩阵的拟合?

0536

如何在Python中创建一个常量?

2519

如何在python中循环一个函数def?

071

如何在Python中定义一个二维数组?

25.8K

如何在Python中声明和添加一个数组?

2664
相关问答用户
擅长3个领域
萃橙科技 | 合伙人擅长4个领域
擅长5个领域
高级数据分析师擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档