python - 包含用于 collections.Counter 的相关方法
问题描述
抱歉,如果这是网站上的重复(我四处搜索但找不到答案)。假设我有一个Person
用 Python 实现的类,带有名称和年龄参数,比如Person('Bob', 25)
. 假设我创建了一个Person
对象列表,我想知道每个实例有多少;例如,我可能有[Person('Bob', 25), Person('Sally', 40'), Person('Bob', 25), Person('Sarah', 30)]
. 所以剩下的有两个实例Person('Bob', 25)
和一个实例;如果要在此对象列表上运行 collections.Counter,它将正确返回。
我的问题是:collections.Counter 在数据结构中究竟寻找什么以使计数正确?我有一个更复杂(但可散列)的类,并且 collections.Counter 没有正确计算元素的数量。我确定这是因为定义中缺少一些方法,但我不确定它是什么。
解决方案
如果a == b
那时hash(a) == hash(b)
你需要实现__
hash __
()和__
eq __
()
推荐阅读
- asp.net - 在页面之间传递包含特殊字符的 Blazor 参数的推荐方法是什么
- android - 将 iOS 框架(Swift/Objective-C)导入 Android 应用项目?
- google-cloud-platform - 在 GCP 中为负载平衡器分配私有 IP 地址
- python - pyspark - spark - 如何使用 RDD 创建并行多阶段任务
- python - Python中有单行闭包函数吗?
- sql - Postgresql:如果存在则删除约束不起作用
- asp.net-core - 将分页添加到具有多个搜索条件的剃须刀页面
- c++ - 重塑微软的 Concurrency::diagnostic::span 也可以检测外跨度
- css - CSS 响应式改变 flex 布局
- python - 数据框列中的非嵌套数据拆分