集合操作
作用:
(1)去重
(2)关系测试
1.去重功能
>>> a = [1,2,3,2,3,3,4]
>>> a = set(a)
>>> print (a)
{1, 2, 3, 4}
2.交集
>>> a = set([1,2,3,4])
>>> b = set([3,4,5,6])
将a和b先设置为集合
取交集,使用intersection()方法
print (a.inetrsection(b))
{3, 4}
3.并集
两个列表去除重复的数据在合并
使用union()方法
>>> print (a.union(b))
{1, 2, 3, 4, 5, 6}
4.差集
difference()
>>> print (a.difference(b))
{1, 2}
a里有但是b里没有
>>> print (b.difference(a))
{5, 6}
b里有的但是a里没有
5.子集:issubset()
父集:issuperset()
>>> a = set([1,2,3])
>>> b = set([1,2,3,4])
>>> print (a.issubset(b))
True
查看a是不是b的子集
>>> print (a.issuperset(b))
False
查看a是不是b的父集
6.对称差集(去掉交集的并集)
>>> a = set([1,2,3,4,5])
>>> b = set([3,4,5,6,7])
>>> print (a.symmetric_difference(b))
{1, 2, 6, 7}
二、求这些集合的方式也可以用符号表示
1、交集: &
2、并集: |
3、差级: -
4、对称差集: ^
例子:
>>> a = set([1,2,3,4])
>>> b = set([3,4,5,6])
1. 交集:
>>> print (a & b)
{3, 4}
2、并集:
>>> print (a | b)
{1, 2, 3, 4, 5, 6}
3、差级: -
>>> print (a - b)
{1, 2}
>>> print (b - a)
{5, 6}
4、对称差集: ^
>>> print (a ^ b)
{1, 2, 5, 6}
三、集合的增删改查
集合是不可以插入的。
1.添加:add()
>>> a = set([1,2,3])
>>> print (a)
{1, 2, 3}
>>> a.add(10)
>>> print (a)
{10, 1, 2, 3}
2.添加多个
a.update(['a','b','c'])
>>> print (a)
{'b', 1, 2, 3, 'c', 'a'}
3.删除一个
>>> a.remove(1)
>>> print (a)
{'b', 2, 3, 'c', 'a'}
>>> a.remove('c')
>>> print (a)
{'b', 2, 3, 'a'}
但是remove删除元素的时候,元素不存在的话就会报错。那么我们可以用discard()
如果元素不存在就会返回none
>>> print(a.discard('aaa'))
None