已经学过的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