python(9)——集合

已经学过的python数据类型有:int、float、str、list、dict、tuple、bool、set

集合set:

集合也是一种数据类型,也是用{}括起开,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据

操作集合

#定义集合
jihe=set() #定义一个空的集合
set1={'niuniu','huihui','hehe'}  #直接定义一个集合
list=[1,1,2,7,5,4,3,4]
set2= set(list)  #将list转为集合
set3 = set([1,1,2,7,5,4,3,4])  #将list转为集合

#集合添加元素
set1.add('hello')

# #集合删除元素
set1.remove('niuniu') #删除指定元素
set1.pop()  #随机删除一个元素

 #集合循环
for i in set1:
     print(i)

集合的作用:

1、它可以把一个列表中重复的数据去掉,而不需要你再写判断

# 集合 也是用{}扩起开
# 天生可以去重  可循环
# # 集合是无序的 不能排序,要排序的话转成list
list=[1,1,2,2,3,3]
res=set(list)  #列表转集合
print(res)  #{1, 2, 3}
list2=list(res) #集合转列表
print(list2)  #[1, 2, 3]

2、可以做关系测试,比如说有两个班,一个性能测试班,一个是自动化班的,想找出来既学习了性能又学习了自动化的同学,就可以用集合

xingneng =['tanailing','yanfan','liurongxin','xiaohei']
zdh=['tanailing','yanfan','tt']
xingneng=set(xingneng)
zdh=set(zdh)

# #取交集
res=xingneng.intersection(zdh)
res=xingneng & zdh
print('交集',res)    #交集 {'tanailing', 'yanfan'}

# #取并集--将两个集合合并到一起,并去重
res= xingneng.union(zdh)
res=xingneng | zdh
print('并集',res)   #并集 {'xiaohei', 'tt', 'liurongxin', 'tanailing', 'yanfan'}

# #差集--a里面有,b里面没有
res=xingneng.difference(zdh)
res=xingneng - zdh
print('差集',res)    #差集 {'xiaohei', 'liurongxin'}

# #对称差集--取两个集合中不重复的
res=xingneng.symmetric_difference(zdh)
res = xingneng ^ zdh
print('对称差集',res)    #对称差集 {'xiaohei', 'tt', 'liurongxin'}
import string
l1=set(string.ascii_lowercase)
l2={'a','b','c'}
print(l2.issubset(l1))  #l2是否为l1的子集   True
print(l2.issuperset(l1))  #l2是否为l1的父集  False
print(l2.isdisjoint(l1)) #有交集,返回False;无交集,返回True  False

猜你喜欢

转载自www.cnblogs.com/HathawayLee/p/9631624.html