集合的添加

>>> 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
Copyright © zhujipeng 2017 all right reserved,powered by Gitbook 该文件修订时间: 2017-12-16 15:12:10

results matching ""

    No results matching ""