定义一个集合类,用于实现集合的主要运算
时间: 2023-07-10 08:43:37 浏览: 82
好的,下面是一个简单的集合类定义,用于实现集合的主要运算:
```python
class Set:
def __init__(self, elements=None):
if elements is None:
self.elements = []
else:
self.elements = list(elements)
def add(self, element):
if element not in self.elements:
self.elements.append(element)
def remove(self, element):
if element in self.elements:
self.elements.remove(element)
def union(self, other_set):
new_set = Set(self.elements)
for element in other_set.elements:
new_set.add(element)
return new_set
def intersection(self, other_set):
new_set = Set()
for element in self.elements:
if element in other_set.elements:
new_set.add(element)
return new_set
def difference(self, other_set):
new_set = Set(self.elements)
for element in other_set.elements:
if element in new_set.elements:
new_set.remove(element)
return new_set
def __str__(self):
return str(self.elements)
```
该集合类实现了以下主要运算:
- 初始化:可以传入一个元素列表作为集合的初始元素;
- add(element):将指定元素添加到集合中;
- remove(element):将指定元素从集合中删除;
- union(other_set):返回一个新集合,包含本集合和另一个集合的所有元素;
- intersection(other_set):返回一个新集合,包含本集合和另一个集合的交集元素;
- difference(other_set):返回一个新集合,包含本集合有但另一个集合没有的元素;
- \_\_str\_\_():将集合转换为字符串输出。
使用示例:
```python
>>> s1 = Set([1, 2, 3])
>>> s2 = Set([2, 3, 4])
>>> print(s1.union(s2)) # 并集
[1, 2, 3, 4]
>>> print(s1.intersection(s2)) # 交集
[2, 3]
>>> print(s1.difference(s2)) # 差集
[1]
>>> s1.add(4)
>>> print(s1)
[1, 2, 3, 4]
>>> s2.remove(4)
>>> print(s2)
[2, 3]
```
阅读全文