集合的添加
>>> s = set()
>>> s.add(1)
>>> s
set([1])
>>> s.add(1)
>>> s
set([1])
重复的元素不会被再次添加
集合的删除
>>> s = set('abc')
>>> s
set(['a', 'c', 'b'])
>>> s.remove('a')
>>> s
set(['c', 'b'])
>>> s.remove('d')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'd'
>>> s.discard('b')
>>> s
set(['c'])
>>> s.pop('c')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: pop() takes no arguments (1 given)
>>> s.pop()
'c'
>>> s
set([])
元素不存在时会报出
IndexError的错误 集合的本质是借助字典来实现的,所以不是ValueError
集合的更新
>>> s = set('abc')
>>> s
set(['a', 'c', 'b'])
>>> s.update('def')
>>> s
set(['a', 'c', 'b', 'e', 'd', 'f'])
>>> s = set('abc')
>>> s.intersection_update('cde')
>>> s
set(['c'])
>>> s = set('abc')
>>> s.difference_update('cde')
>>> s
set(['a', 'b'])
集合的求并
>>> s1 = set('abc')
>>> s2 = set('cde')
>>> s1.union(s2)
set(['a', 'c', 'b', 'e', 'd'])
集合的求交
>>> s1 = set('abc')
>>> s2 = set('cde')
>>> s1.intersection(s2)
set(['c'])
集合的求差
>>> s1 = set('abc')
>>> s2 = set('cde')
>>> s1.difference(s2)
set(['a', 'b'])
父集的判断
>>> set('abc').issuperset(set('a'))
True
>>> set('a').issuperset(set('abc'))
False
子集的判断
>>> set('a').issubset(set('abc'))
True
>>> set('abc').issubset(set('a'))
False
相交的判断
>>> set('abc').isdisjoint(set('def'))
True
>>> set('abc').isdisjoint(set('cde'))
False