python中的集合和数学红集合的概念一致。
Python中的集合是一个无序的不重复元素序列。
集合中只能存储不可变数据类型。
在Python中集合使用{}定义。
与列表,字典一样,都是Python中的可变数据类型。
集合的创建方式有两种
1)使用{}直接创建集合
语法结构:
s={element1,element2,...elementN}
2)使用内置函数set()创建集合
语法结构:
s=set(可迭代对象)
集合的删除
语法结构:
del 集合名
s={10,20,30,40}
print(s)
s=set() #创建空集合
print(s)
s={} #创建的是字典
print(s,type(s))
s=set('helloworld')
print(s)
s=set([10,20,30,40])
print(s)
s=set(range(1,10))
print(s)
print('集合最大值',max(s))
print('集合最小值',min(s))
print('集合长度',len(s))
print('8在集合中?',8 in s)
print('8不在集合中?', 8 not in s)
del s # 删除集合
集合类型的操作符

交集(A&B):两个集合共有部分
并集(A|B):两个集合合并在一起,重复元素都只保留一个。
差集(A-B):A的集合除去A中含有B中的元素之后的元素集合。
补集(A^B):并集去除掉交集之后剩余的部分
s1={10,20,30,40}
s2={30,40,50,60}
print('交集',s1&s2) #交集:两个集合共有部分 {40, 30}
print('并集',s1|s2) #并集:两个集合合并在一起,重复的元素都只保留一个 {40, 10, 50, 20, 60, 30}
print('差集',s1-s2) #差集:一个集合去除两个集合中共有部分的剩余部分 {10, 20}
print('补集',s1^s2) #补集:并集去除掉交集之后,剩余的部分 {10, 50, 20, 60}
集合的相关操作方法
| 集合的方法 | 描述说明 |
| s.add(x) | 如果x不存在集合s中,则将x添加到集合s中 |
| s.remove(x) | 如果x在集合中,则删除元素;如果不在集合中,则程序报错 |
| s.clear() | 清空集合中的所有元素 |
s={10,20,30}
print(s)
s.add('hello')
print(s)
s.remove(20)
print(s)
s.clear()
print(s)
集合的遍历
#for 循环 for item in s: print(item) # 使用enumerate()函数 for index,item in enumerate(s): print(index,item)
集合的生成式
#第一种方式 s={i for i in range(1,10)} print(s) #第二种方式 s={i for i in range(1,10) if i%2==1} print(s)
列表,元组,字典,集合的区别
| 数据类型 | 序列类型 | 元素是否可重复 | 是否有序 | 定义符号 |
| 列表list | 可变序列 | 可重复 | 有序 | [] |
| 元组tuple | 不可变序列 | 可重复 | 有序 | () |
| 字典dict | 可变序列 | key不可重复,value可重复 | 无序 | {key:value} |
| 集合set | 可变序列 | 不可重复 | 无序 | {} |
posted on
浙公网安备 33010602011771号