6-7 设计计数集合类,记录各元素加入集合的次数(高教社,《Python编程基础及应用》习题9-9)
时间: 2024-12-08 18:21:26 浏览: 27
在Python中设计一个计数集合类,可以参考字典(dict)的数据结构,因为字典天然地能存储键值对,其中键对应集合中的元素,值则代表元素的出现次数。下面是一个简单的实现:
```python
class CountingSet:
def __init__(self):
self.counts = {} # 使用字典作为内部数据结构
# 添加元素并更新计数
def add(self, item):
if item in self.counts:
self.counts[item] += 1
else:
self.counts[item] = 1
# 删除元素,如果元素不存在,则不做操作
def remove(self, item):
if item in self.counts:
self.counts[item] -= 1
if self.counts[item] == 0:
del self.counts[item]
# 返回元素的计数值
def count(self, item):
return self.counts.get(item, 0)
# 检查元素是否存在于集合中
def contains(self, item):
return item in self.counts
# 示例
counter = CountingSet()
counter.add("apple")
counter.add("banana")
counter.remove("banana") # "banana" 的计数变为 0,然后从 counts 中删除
print(counter.count("apple")) # 输出:1
```
阅读全文