目录
一、集合(set)
集合(set)在Python中是一种无序且不包含重复元素的数据类型。集合支持数学上的集合运算,如交集、并集、差集和对称差等。下面是一些常用的集合操作及其示例:
1. 创建集合
- 使用大括号
{}
或set()
函数创建集合。
s1 = {1, 2, 3}
s2 = set([1, 2, 2, 3, 4])
empty_set = set()
2. 添加元素
- 使用
add()
方法向集合中添加一个元素。
s1.add(4)
3. 移除元素
- 使用
remove()
或discard()
方法移除元素。
s1.remove(4) # 如果元素不存在,会抛出 KeyError
s1.discard(5) # 如果元素不存在,什么也不做
4. 集合的并集
- 使用
union()
方法或|
运算符获取两个集合的并集。
union_set = s1.union(s2)
union_set2 = s1 | s2
5. 集合的交集
- 使用
intersection()
方法或&
运算符获取两个集合的交集。
intersection_set = s1.intersection(s2)
intersection_set2 = s1 & s2
6. 集合的差集
- 使用
difference()
方法或-
运算符获取两个集合的差集。
difference_set = s1.difference(s2)
difference_set2 = s1 - s2
7. 集合的对称差集
- 使用
symmetric_difference()
方法或^
运算符获取两个集合的对称差集。
symmetric_diff_set = s1.symmetric_difference(s2)
symmetric_diff_set2 = s1 ^ s2
8. 检查子集和超集
- 使用
issubset()
和issuperset()
方法检查一个集合是否是另一个集合的子集或超集。
is_subset = s1.issubset(s2)
is_superset = s2.issuperset(s1)
9. 更新集合
- 使用
update()
,intersection_update()
,difference_update()
, 和symmetric_difference_update()
方法原地修改集合。
s1.update(s2)
s1.intersection_update(s2)
s1.difference_update(s2)
s1.symmetric_difference_update(s2)
10. 集合的长度
- 使用 `len()` 函数获取集合的元素数量。
length = len(s1)
11. 遍历集合
- 使用 `for` 循环遍历集合中的元素。
for element in s1:
print(element)
12. 判断元素是否在集合中
- 使用 `in` 关键字检查元素是否在集合内。
if 1 in s1:
print("Element is in the set.")
13. 集合的不可变版本
- 使用 `frozenset()` 创建不可变的集合,这在需要将集合作为字典键或集合元素的场合非常有用。
frozen_set = frozenset(s1)
集合非常适合用于去除重复元素、执行集合运算和快速查找元素。由于集合内部实现为哈希表,因此元素的添加、移除和查找操作通常具有 O(1) 的平均时间复杂度,这使得集合在大数据量和高性能需求的场景中特别有用。
需要Demo源码的同学,可以前往以下地址下载学习。
链接:https://pan.baidu.com/s/1ByWLkiXO9V5N2vjjvjpDkw?pwd=ucwg
提取码:ucwg