Python执行某一类的时候,相当于执行__init__ 方法
例如:list()
list __init__
set 是一个无序且不重复的元素集合,可看做数学中的集合
用法:
1.创建集合
s = set() 创建空集合
s = set([11,22,33])
s = set('asdfghh')
s = {'asd','saf'}
2.访问集合
a in s
3.更新集合
s.add()---添加,每次只能添加一个元素
s.clear() ----清空
s.upadte()---更新集合,并赋值给s。可以迭代批量添加,相当于执行for循环然后重复执行.add方法。
s.discard()---删除指定元素,不存在不报错
s.remove()---删除指定元素,不存在则报错
s.pop() -----随机删除元素
4、联合(|)
联合(union)操作与集合的OR操作其实等价的,联合符号有个等价的方法,union()。
>>> s1=set('begin') >>> s2=set('man') >>> s3=s1|s2 >>> s3 set(['a', 'b', 'e', 'g', 'i', 'm', 'n'])
5、交集(&)
与集合AND等价,交集符号的等价方法是intersection()
>>> s1&s2 set(['n']) >>> s1.intersection(s2) set(['n'])
6、查补(-)
等价方法是difference()
>>> s1-s2 # s1 - (s1 & s2) set(['i', 'b', 'e', 'g']) >>> s1.difference(s2) set(['i', 'b', 'e', 'g'])
7、对称差分(^)
对称差分是集合的XOR(‘异或’),取得的元素属于s1,s2但不同时属于s1和s2.其等价方法symmetric_difference()
>>> s1^s2 #(s1 U s2)-(s1 & s2) set(['a', 'b', 'e', 'g', 'i', 'm']) >>> s1.symmetric_difference(s2) set(['a', 'b', 'e', 'g', 'i', 'm'])
注意:集合之间and,or
>>> s1 and s2 等价于s2 set(['a', 'm', 'n']) #取 s2 >>> s1 or s2 等价于s1 set(['i', 'b', 'e', 'g', 'n']) #取 s1 >>>
五、集合、列表、元组、字符串之间转换
>>> list(s1) ['i', 'b', 'e', 'g', 'n'] >>> str(s1) "set(['i', 'b', 'e', 'g', 'n'])" >>> tuple(s1) ('i', 'b', 'e', 'g', 'n')
***********************************************引用地址忘记了,抱歉**************************************************