集合类型内建方法
方法名称 |
操作 |
s.issubset(t) | 如果s是t的子集,则返回True,否则返回False |
s.issuperset(t) | 如果s是t的超集,则返回True,否则返回False |
s.union(t) | 返回一个新集合,该集合是s和t的并集 |
s.intersection(t) | 返回一个新集合,该集合是s和t的交集 |
s.difference(t) | 返回一个新集合,该集合是s的成员,但不是t的成员 |
s.symmetric_difference(t) | 返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员 |
s.copy() | 返回一个新集合,它是集合s的浅复制 |
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s
- set(['c', 'e', 'h', 'o', 'p', 's'])
- >>> t
- set(['b', 'h', 'k', 'o', 'p', 's'])
- >>> s.issubset(t)
- False
- >>> s.issuperset(t)
- False
- >>> s.union(t)
- set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
- >>> s.intersection(t)
- set(['h', 's', 'o', 'p'])
- >>> s.difference(t)
- set(['c', 'e'])
- >>> s.symmetric_difference(t)
- set(['b', 'e', 'k', 'c'])
- >>> s.copy()
- set(['p', 'c', 'e', 'h', 's', 'o'])
二、可变集合类型的方法
1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。
- >>> s.update(t)
- >>> s
- set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.intersection_update(t)
- >>> s
- set(['h', 's', 'o', 'p'])
3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.difference_update(t)
- >>> s
- set(['c', 'e'])
4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.symmetric_difference_update(t)
- >>> s
- set(['c', 'b', 'e', 'k'])
5、s.add(obj)——在集合s中添加对象obj。
- >>> s.add('o')
- >>> s
- set(['c', 'b', 'e', 'k', 'o'])
6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError。
- <p>>>> s.remove('b')
- >>> s
- set(['c', 'e', 'k', 'o'])
- >>> s.remove('a')</p><p>Traceback (most recent call last):
- File "<pyshell#53>", line 1, in <module>
- s.remove('a')
- KeyError: 'a'
- </p>
7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj。
- >>> s.discard('a')
- >>> s
- set(['c', 'e', 'k', 'o'])
- >>> s.discard('e')
- >>> s
- set(['c', 'k', 'o'])
8、s.pop()——删除集合是中的任意一个对象,并返回它。
- >>> s.pop()
- 'c'
- >>> s
- set(['k', 'o'])
9、s.clear()——删除集合s中的所有元素。
- >>> s.clear()
- >>> s
- set([])
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s
- set(['c', 'e', 'h', 'o', 'p', 's'])
- >>> t
- set(['b', 'h', 'k', 'o', 'p', 's'])
- >>> s.issubset(t)
- False
- >>> s.issuperset(t)
- False
- >>> s.union(t)
- set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
- >>> s.intersection(t)
- set(['h', 's', 'o', 'p'])
- >>> s.difference(t)
- set(['c', 'e'])
- >>> s.symmetric_difference(t)
- set(['b', 'e', 'k', 'c'])
- >>> s.copy()
- set(['p', 'c', 'e', 'h', 's', 'o'])
二、可变集合类型的方法
1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。
- >>> s.update(t)
- >>> s
- set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.intersection_update(t)
- >>> s
- set(['h', 's', 'o', 'p'])
3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.difference_update(t)
- >>> s
- set(['c', 'e'])
4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素。
- >>> s = set('cheeseshop')
- >>> t = set('bookshop')
- >>> s.symmetric_difference_update(t)
- >>> s
- set(['c', 'b', 'e', 'k'])
5、s.add(obj)——在集合s中添加对象obj。
- >>> s.add('o')
- >>> s
- set(['c', 'b', 'e', 'k', 'o'])
6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError。
- <p>>>> s.remove('b')
- >>> s
- set(['c', 'e', 'k', 'o'])
- >>> s.remove('a')</p><p>Traceback (most recent call last):
- File "<pyshell#53>", line 1, in <module>
- s.remove('a')
- KeyError: 'a'
- </p>
7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj。
- >>> s.discard('a')
- >>> s
- set(['c', 'e', 'k', 'o'])
- >>> s.discard('e')
- >>> s
- set(['c', 'k', 'o'])
8、s.pop()——删除集合是中的任意一个对象,并返回它。
- >>> s.pop()
- 'c'
- >>> s
- set(['k', 'o'])
9、s.clear()——删除集合s中的所有元素。
- >>> s.clear()
- >>> s
- set([])