1、创建set
使用 {}
或 set()
创建一个新的集合。
>>> s={1,"python"}
>>> s=set("python") or s=set([1,"python"])
1)集合转成列表
>>> lst=list(s)
2)列表转成集合(可能会删除列表中重复元素)
>>> s=set([1,"python"])
3)不可变集合创建
>>> t=frozenset('python')
>>> t
frozenset({'p', 'y', 't', 'h', 'o', 'n'})
2、集合常用的方法
1)add
add()
方法用于添加单个元素。
>>> b=set()
>>> b.add("python")
2)update
update()
方法用于更新集合,可以添加多个元素。
>>> seta={"wiki","twitter","google","facebook"}
>>> setb={"python",(1,2,3)}
>>> seta.update(b)
>>> seta
>>> set(["wiki","twitter","google","python","facebook",(1,2,3)])
3)pop
移除末尾元素并把移除的元素并返回该元素。
>>>seta={"wiki","twitter","google","facebook"}
>>>seta.pop()
4)remove
remove()
方法删除指定元素,如果元素不存在会引发 KeyError
。
>>>seta={"wiki","twitter","google","facebook"}
>>>seta.remove("wiki")#删除的元素不存在会报错
5)discard
discard()
方法也是用来删除集合中的元素,但如果元素不存在,它不会引发错误。
>>>seta={"wiki","twitter","google","facebook"}
>>>seta.discard("wiki")
>>>seta.discard("wiki")#删除的元素不存在,也不会报错
6)clear
清除集合中所有元素
>>>seta={"wiki","twitter","google","facebook"}
>>>seta.clear()
>>>seta
set([])
3、集合间比较方法
1)判断一个元素是不是在集合中
>>> s = set([1,2,3,4])
>>> 1 in s
True
>>> 5 in s
False
2)判断两个集合是否相等
>>> a = set([1,2,3,4,5])
>>> b = set([1,2,3,4,5])
>>> a ==b
True
>>>b.pop()
1
>>>b
set([2,3,4,5])
>>>a==b
False
3)判断一个集合是否是另一个集合的子集
>>> a = set([1,2,3,4])
>>> b = set([1,2,3,4,5])
>>>a < b
True
>>>a.issubset(b)
True
4)判断一个集合是否是另一个集合的超集
>>> a = set([1,2,3,4])
>>> b = set([1,2,3,4,5])
>>>b > a
True
>>>b.issuperset(a)
True
5)取两个集合的并集
>>> a = set([0,1,3,4,6])
>>> b = set([1,2,3,4,5])
>>> a | b
set([0,1,2,3,4,5,6])
>>> a.union(b)
set([0,1,2,3,4,5,6])
6)取两个集合的交集
>>> a = set([0,1,3,4,6])
>>> b = set([1,2,3,4,5])
>>> a & b
set([1,3,4])
>>> a.intersection(b)
set([1,3,4])
7)取一个集合比另一个集合多的元素
>>> a = set([0,1,3,4,6])
>>> b = set([1,2,3,4,5])
>>> a - b
set([0,6])
>>> a.difference(b)
set([0,6])
8)取两个集合中各自独有的元素
>>> a = set([0,1,3,4,6])
>>> b = set([1,2,3,4,5])
>>> a.symmetric_difference(b)
set([0,6,2,5])