set类型python
时间: 2025-01-21 11:24:23 浏览: 38
### Python 中 `set` 类型的使用方法、属性和操作
#### 创建集合
可以使用花括号 `{}` 或者内置函数 `set()` 来创建一个集合。
```python
s1 = {1, 2, 3} # 使用花括号定义集合
s2 = set([4, 5, 6]) # 使用set()函数定义集合
print(s1)
print(s2)
```
#### 添加元素到集合
利用 `.add(element)` 方法向集合中添加单个元素;而要一次性增加多个元素,则可采用`.update(elements)`[^1]。
```python
s = {1, 2}
s.add(3) # 向集合 s 中添加整数 3
s.update({4, 5}) # 将另一个集合{4, 5}中的所有元素加入当前集合
print(s)
```
#### 移除元素
移除指定元素可通过两种方式实现:一是使用 `.remove(element)` ,当尝试删除不存在于集合内的项目时会抛出异常;二是运用 `.discard(element)`,即使该元素不在集合内也不会引发错误。
```python
s.remove(3) # 删除存在的元素 3
try:
s.remove(7) # 如果试图移去未存在于集合里的项则触发 KeyError 错误
except KeyError as e:
print(f"Error: {e}")
s.discard(8) # 不管是否存在都将执行而不报错
```
#### 集合运算
支持交集(`&`)、并集(`|`)、差集(`-`)以及对称差集(`^`)等基本算术运算符来进行不同类型的组合计算。
```python
a = {1, 2, 3}
b = {3, 4}
intersection = a & b # 计算两个集合之间的交集
union = a | b # 并集
difference = a - b # 差集 (属于第一个集合但不属于第二个集合的部分)
symmetric_difference = a ^ b # 对称差集 (只在一个集合中存在的成员)
print(intersection)
print(union)
print(difference)
print(symmetric_difference)
```
#### 判断子集/超集和平等关系
能够借助 `<`, `<=`, `>`, `>=` 运算符测试某个集合是否为另一集合的真子集或假定相等情况下的非严格子集/父级关系。
```python
c = {1, 2}
d = {1, 2, 3}
is_subset = c <= d # 测试 c 是否是 d 的子集
proper_subset = c < d # 检查 c 是不是 d 的真子集
equality_check = c == d # 等价性验证
print(is_subset)
print(proper_subset)
print(equality_check)
```
阅读全文
相关推荐















