1、创建集合
创建集合使用{ }或set(),但是如果要创建空集合只能使用set(),因为{ }用来创建空字典。
特点:
1. 集合可以去掉重复数据;
2. 集合数据是无序的,故不支持下标。
s1 = {10, 20, 30, 40, 50} # 无序 # 结果:{50, 20, 40, 10, 30} print(s1) s2 = {10, 20, 50, 90, 20, 50} # 去掉重复 # 结果:{10, 50, 20, 90} print(s2) s3 = {'abcdefg'} # 结果:{'abcdefg'} print(s3) s4 = set('abcdefgh') # 拆分成单个 # 结果:{'a', 'e', 'f', 'g', 'b', 'c', 'h', 'd'} print(s4) s5 = set() # 空集合 # 结果:set() print(s5) # 结果:<class 'set'> print(type(s5)) s6 = {} # 空字典 # 结果:<class 'dict'> print(type(s6))
2、集合常见操作方法
2.1 增加数据
add()增加单一数据,增加序列则会报错
s1 = {10, 20, 30} s1.add(100) # 结果:{100, 10, 20, 30} print(s1) s1.add(10) # 结果:{100, 10, 20, 30} print(s1) s1.add([50, 60]) # 结果: 报错 print(s1)
update()追加数据序列,增加单一数据则报错
s2 = {20, 50, 80} s2.update([100, 200]) # 结果:{100, 200, 80, 50, 20} print(s2) s2.update('abc') # 结果:{100, 200, 'b', 80, 'c', 50, 20, 'a'} print(s2) s2.update(30) # 结果:报错 print(s2)
2.2 删除数据
remove()删除集合中的指定数据,如果数据不存在则报错。
s1 = {10, 20, 40, 50, 60} s1.remove(20) # 结果:{50, 40, 10, 60} print(s1) s1.remove(20) # 结果:报错 print(s1)
discard()删除集合中的指定数据,如果数据不存在也不会报错。
s1 = {10, 20, 40, 50, 60} s1.discard(20) # 结果:{50, 40, 10, 60} print(s1) s1.discard(20) # 结果:{50, 40, 10, 60} print(s1)
pop()随机删除集合中的某个数据,并返回这个数据。
s1 = {10, 20, 40, 50, 60} s1.pop() # 结果:{20, 40, 10, 60} print(s1) s2 = s1.pop() # 结果:20 print(s2) # 结果:{40, 10, 60} print(s1)
2.3 查找数据
in :判断数据在集合序列
not in :判断数据不在集合序列
s3 = {20, 50, 90} # 结果:True print(20 in s3) # 结果:False print(30 in s3) # 结果:False print(20 not in s3) # 结果:True print(400 not in s3)