1、解释说明 Python中的集合(set)是一个无序的、不重复的元素序列。它的主要功能是进行成员关系测试和消除重复元素。集合对象还支持union(联合),intersection(交),difference(差)和symmetric difference(对称差集)等数学操作。
2、常见操作方法
创建集合
创建集合使⽤
{}
或
set()
, 但是如果要创建空集合只能使⽤
set()
,因为
{}
⽤来创建空字典。
# 1.创建有数据的集合
s1 = {10,20,30,40,50} # {50, 20, 40, 10, 30} 说明集合是无序的
print(s1)
s2 = {10,30,20,40,30,20} # {40, 10, 20, 30} 说明集合是不能重复的
print(s2)
s3 = set('abcdefg')
print(s3) # {'g', 'c', 'f', 'a', 'b', 'e', 'd'}
# 2. 创建空集合:set()
s4 = set()
print(s4)
print(type(s4)) # <class 'set'>
s5 = {} # 创建字典
print(type(s5)) # <class 'dict'>
增加数据
s1 = {10,20}
# 1.集合是可变类型
# add()
s1.add(100)
print(s1)
s1.add(100)
print(s1)
# update() 增加的是序列 集合有去重功能
s1.update([10,20,30,40,50])
print(s1)
# s1.update(100) 增加单一数据报错
print(s1)
删除数据
s1 = {10,20,30,40,50}
# remove():删除指定数据,如果数据不存在报错
# s1.remove(10)
# print(s1)
#
# s1.remove(10) # 报错
# print(s1)
# discard():删除指定数据,如果数据不存在不报错
# s1.discard(10)
# print(s1)
#
# s1.discard(10)
# print(s1)
# pop():随机删除某个数据,并返回这个数据
del_num = s1.pop()
print(del_num)
print(s1)
查找数据
in
:判断数据在集合序列
not in
:判断数据不在集合序列
s1 ={10,20,30,40,50}
# in 或 not in 判断数据10是否存在
print(10 in s1) # True
print(10 not in s1) # False
求交集
s1 = {1,2,3}
s2 = {2,5,6}
# 求交集
print(s1 & s2)
求并集
s1 = {1,2,3}
s2 = {2,5,6}
# 求并集
print(s1 | s2)
求差集
s1 = {1,2,3}
s2 = {2,5,6}
# 求差集
print(s1-s2)
3、注意事项
- 集合中的元素必须是不可变的,例如字符串、数字或元组。
- 集合本身是可变的,可以添加或删除元素。
- 集合中不能有可变类型的数据,例如列表、字典或其他集合。
- 集合的交集、并集、差集等操作可以用运算符或者方法实现,但是结果都是一个新的集合,原集合不会被改变。