集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,集合用{},里面是一个一个元素,不同于key-value形式的字典;
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...} 或者 set(value)
l = [1,1,3,3,4,2] print(set(l))#集合是无序的,不能通过下标取值,可以循环,结果为{1, 2, 3, 4}
#定义空集合方法 s = set()#空集合 s.add(1)#添加元素 s.remove(1)#删除元素 s2={1,2,3,4,5} s2.add(1)#无法添加重复的元素 print(s2)#结果仍为{1, 2, 3, 4, 5}
1、交集
xingneng= ['jiajinju','yangliangliang','zhaowenjing','shenxianlu'] zidonghua= ['jiajinju','yangliangliang','zhaowenjing','hanmin','liuzhao'] #找出既学自动化又学性能的同学 xn_set = set(xingneng) zdh_set = set(zidonghua) print(xn_set.intersection(zdh_set))#取交集方法1 print(xn_set & zdh_set )#取交集方法2
2、并集
print(xn_set.union(zdh_set))#取并集方法1,把两个集合加一起,重复的去除,可以取多个并集xn_set.union(zdh_set).union() print(xn_set | zdh_set)#取并集方法2
3、差集
print(xn_set.difference(zdh_set))#取差集方法1,在xn里有,在zdh里没有的 print(xn_set - zdh_set)#取差集方法2
4、对称差集
print(xn_set.symmetric_difference(zdh_set))#取对称差集方法1,把两个集合里都有的去除,剩下的为对称差集 print(xn_set ^ zdh_set)#取对称差集方法2