集合不支持元素的重复(自带去重功能),并且内容无序。
集合的定义
1
2
3
4
5
|
# 定义集合变量
a = {1,2,3,4,5,4,3,2,1}
# 定义空集合
b = set()
print(a) # 输出{1, 2, 3, 4, 5} 发现自动去重
|
集合的常用操作
因为集合是无序的,所以集合 不支持下标索引 ,但是集合是可以修改的
添加新元素 add
1
2
3
4
|
a = {1,2,3,4,5,'hi'}
a.add('hello') # 添加成功
a.add('hi') # 添加失败,因为被自动去重
print(a) # 输出{1, 2, 3, 4, 5, 'hi', 'hello'}
|
移除元素 remove
1
2
3
|
a = {1,2,3,4,5,'hi'}
a.remove('hi')
print(a)
|
从集合中随机抽取元素 pop
1
2
3
4
|
a = {1,2,3,4,5,'hi'}
b = a.pop()
print(a)
print(b)
|
注意:取出元素后集合本身被修改,对应元素移除,因此你需要用一个变量来接收取出的元素
清空集合 clear
1
2
3
|
a = {1,2,3,4,5,'hi'}
a.clear()
print(a)
|
取出两个集合的差集 difference
语法:集合1.difference(集合2),功能:取出集合1和集合2的差集 (集合1有而集合2没有的,即 C=A-A∩B)
结果:得到一个新集合,集合1和集合2不变
1
2
3
4
5
6
|
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2)
print(set3) # 结果:{2,3} 得到的新集合
print(set1) # 结果:{1,2,3} 不变
print(set2) # 结果:{1,5,6} 不变
|
消除两个集合的差集
语法:集合1.difference_update(集合2)
功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素(即 A=A-A∩B)
因此只有集合1被修改,不会产生新的集合。
1
2
3
4
5
|
set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2)
print(set1) # 结果{2, 3},被修改
print(set2) # 结果{1,5,6},不变
|
两个集合合并
语法:集合1.union(集合2)
功能:将集合1和集合2合并为新集合
1
2
3
4
5
6
|
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.union(set2)
print(set3) # 结果:{1,2,3,5,6},新集合
print(set1) # 结果:{1,2,3},不变
print(set2) # 结果:{1,5,6},不变
|
统计集合元素数量
1
2
|
a = {1,2,3,4,5,'hi'}
print(len(a))
|
集合的循环遍历
注意:因为集合不支持下标索引,所以无法为while循环提供条件,因此只能使用for循环
for循环
1
2
3
|
a = {1,2,3,4,5,'hi'}
for element in a:
print(element)
|