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)
复制代码

返回目录

 

posted @ 2017-05-28 16:23  红领巾下的大刀疤  阅读(208)  评论(0编辑  收藏  举报
/* 看板娘 */