python数据类型之set(二)
1.set说明
1.set是一个无序不重复的序列 2.可以用 { } 或者 set( ) 函数创建集合 3.集合存放不可变类型(字符串、数字、元组)
注意:创建一个空集合必须用 set( ) 而不是 { } ,因为 { } 是用来创建一个空字典
2.集合
#coding-utf-8 #创建空的集合set s1=set() print(type(s1)) s2={1,"a"} s3={2:22,"bb":"cc"} print(type(s2),s2,type(s3),s3) #添加值 add(x) s2.add(2) print(s2) #update(x),将x添加到集合中,且参数可以是列表、元组、字典等 #参数为列表时 lst1=[3,4] s2.update(lst1) print(s2) #参数为元组时 tuple1=(5,6) s2.update(tuple1) print(s2) #参数为字典时,只能添加不可变的健 dictionary1={"77":"777","88":"888"} s2.update(dictionary1) print(s2) #集合移除元素 s.remove(element) s2.remove("77") print(s2) #s.discard(element)也用于移除元素 s2.remove("88") print(s2) #pop方法没有参数,它随机的删除一个元素并返回该元素,当集合为空时,pop方法会引发KeyError异常。 s2.pop() print(s2) #清除集合数据 s2.clear() print(s2)
运行结果:
<class 'set'> <class 'set'> {1, 'a'} <class 'dict'> {2: 22, 'bb': 'cc'} {1, 2, 'a'} {1, 2, 3, 'a', 4} {1, 2, 3, 'a', 4, 5, 6} {1, 2, 3, 'a', 4, 5, 6, '77', '88'} {1, 2, 3, 'a', 4, 5, 6, '88'} {1, 2, 3, 'a', 4, 5, 6} {2, 3, 'a', 4, 5, 6} set()
3.实例2
#coding=utf-8 #声明两个set集合 set1 = {'aa','bb','cc','dd','ee'}; set2 = (('aa','bb','kk','gg','ee')); set3 = {'aa','bb'}; #两个set集合之间关系 #差集(-) print "差集:",set1.difference(set2); #交集(&) print "交集:",set1.intersection(set2); #并集(|) print "并集:",set1.union(set2); #对称差集(^),除集合s和集合s1共有的以外的元素 print "对称差集:",set1.symmetric_difference(set2); #set.issubset(x) 判断一个集合是否是另一个集合的子集 print "判断子集:",set3.issubset(set1);
运行结果:
差集: set(['cc', 'dd']) 交集: set(['aa', 'ee', 'bb']) 并集: set(['aa', 'bb', 'cc', 'dd', 'gg', 'ee', 'kk']) 对称差集: set(['cc', 'gg', 'kk', 'dd']) 判断子集: True