Python基础之数据基本类型之(set)
集合set
基本数据类型特点(可变:列表,字典 不可变:字符串,数字,元组)
- 不同的元素组成
- 无序
- 集合中的元素必须是不可变类型,加入可变的类型会报错
主要作用如下:
- 去重。把一个列表变成集合,就自动去重了。
- 关系测试,测试两组数据之前的交集,差集,并集等关系
1.set基本操作
a.添加
#添加 a.add('g') #a添加一项 print(a) # {'g', 'a', 'e', 'd', 'b', 'f', 'c'} b.update([1,2,3,4]) #在b中添加多项 print(b) # {1, 2, 3, 4, 'd', 'b', 'c'}
b.删除
#删除 a.remove('f') a.discard('h') #不会报错的删除 print(a) # {'e', 'b', 'd', 'a', 'c'}
clear #清空集合
e.查询
#查询 (in 和 not in ) print('a' in a) #测试‘a’是否是a的成员 返回True or false print('we' not in a) #测试'we'是否不是a的成员 返回True or false
2. 集合特殊方法
#intersection 交集,相当于&
s = {1,7,9} s1 = {1,9,5} print(s&s1) print(s.intersection(s1)) {9, 1} {9, 1}
#union 并集,相当于 | 所有不同的元素
s = {1,7,9} s1 = {1,9,5} print(s|s1)
#difference 差集,相当于- a不同b的部分
s = {1,7,9} s1 = {1,9,5} print(s-s1) print(s.difference(s1)) {7} {7}
#symmetric_difference 交叉补集,相当于^
s = {1,7,9} s1 = {1,9,5} print(s^s1) print(s.symmetric_difference(s1)) {5, 7} {5, 7}
#更新操作
aa = {1,2,3,4,5,6,7,8,9}
bb = {1,3,9,10,11}
#判断两个对象是不是有交集 ,没有交集则返回True 有交集则返回False print(aa.isdisjoint(bb)) #差集更新 print(aa.difference(bb)) #显示出两个对象的差集 aa.difference_update(bb) #name得到的更新差集, print(aa) #对称差集更新 print(aa.symmetric_difference(bb)) #显示出两个对象的对称差集 aa.symmetric_difference_update(bb) #name得到的更新的对称差集 , print(aa)