Python3中的Set集合的相关操作函数
集合内置函数
1. add()
为该集合添加元素. 例:
>>> a = {22, 88 ,78, 99} >>> a.add(55) >>> a {99, 78, 22, 55, 88}
2. clear()
清空该集合..例:
>>> a {99, 78, 22, 55, 88} >>> a.clear() >>> a set()
3. copy()
复制该集合. 例:
>>> a = {2, 4, 89} >>> b = a.copy() >>> b {89, 2, 4}
4. difference(set)
返回集合的差集, 即返回存在于第一个集合的参数却不存在于第二个集合的参数.
等同于 '-' 减号运算符返回的结果,set参数需要一个或多个.例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 7} >>> a.difference(b) {2, 3}
5. difference_update(set)
移除该集合与set集合內相同的元素. 即运算符 '-='.
该函数与difference()函数的区别在于difference()是返回值, 而difference_update()是对原集合做出修改.例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 7}
>>> a.difference_update(b)
>>> a
{2, 3}
6. discard()
删除指定元素. 例:
>>> a = {3, 8 ,9.2, 1} >>> a.discard(9.2) >>> a {8, 1, 3}
7. intersection(set)
返回交集(该集合与set集合共有的元素组成的新的集合), 等同于 '&' 运算符返回的结果. 例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 6, 7} >>> a.intersection(b) {4, 5}
8. intersection_update(set)
删除与set集合不相交的元素, 等同于 '&='运算符. 例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 6, 7} >>> a.intersection_update(b) >>> a {4, 5}
9. isdisjoint(set)
判断该集合是否是与set集合是不相交(无相同元素)的, 不相交则返回True, 否则False. 例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 6, 7} >>> a.isdisjoint(b) False
10. issubset(set)
判断该集合是否是set集合的子集(该集的所有元素,set集合都有), 例:
>>> a, b = {2, 3, 4, 5}, {4, 5} >>> b.issubset(a) True
11. issuperset(set)
判断set是否是该集合的子集. 例:
>>> a, b = {2, 3, 4, 5}, {4, 5} >>> a.issuperset(b) True
12. pop()
随机删除一个元素并返回该元素
如果该集合全是数字, 那么将删除最小的数字.并按升序排序, 例:
>>> a, b = {5, 4, 3, 1}, {'google', 'baidu', 'taobao'} >>> a {1, 3, 4, 5} >>> a.pop() 1 >>> b.pop() 'taobao'
>>> a
{3, 4, 5}
>>> b
{'baidu', 'google'}
13. remove(item)
移除指定元素. 例:
>>> a = {'google', 'taobao', 999, 'baidu'} >>> a.remove(999) >>> a {'taobao', 'baidu', 'google'}
14. symmetric_difference()
返回两个集合的不重复集合. 等同于 '^' 运算符返回的结果. 例:
>>> a, b = {'taobao', 'baidu', 'google'}, {'taobao', 'facebook', 'tencent'} >>> a.symmetric_difference(b) {'tencent', 'google', 'baidu', 'facebook'}
15. symmetric_difference_update(set)
将该集合与set集合的不重复元素作为新的集合赋值给该集合. 等同于 '^=' 运算符
即. 删除掉两个集合相同的元素并将set集合不同的元素加入到该集合中.
>>> a, b = {'taobao', 'baidu', 'google'}, {'taobao', 'facebook', 'tencent'} >>> a.symmetric_difference_update(b) >>> a {'tencent', 'google', 'baidu', 'facebook'}
16. union(set)
返回与set集合的并集. 即 '|' 运算符. 例:
>>> a, b = {2, 3, 4, 5}, {4, 5, 6, 7} >>> a.union(b) {2, 3, 4, 5, 6, 7}
17. update(seq)
将seq序列的元素加入到该集合. 例:
>>> a {2, 3, 4, 5, 6, 7, 9} >>> a.update(('hello', 'world')) >>> a {2, 3, 4, 5, 6, 7, 9, 'world', 'hello'}
Python内置的函数以及可用的关键字及运算符
len
获取长度. 例:
>>> a = {1, 2, 3, 4, 5} >>> len(a) 5
in
成员运算符, 判断是元素是否在集合內. 返回布尔值.
not in
判断元素是否不在集合內.
例:
>>> a = {1, 2, 3, 4, 5} >>> len(a) 5 >>> a = {1, 2, 3, 4, 5} >>> 2 in a True >>> 7 not in a True
|
用于计算两个集合的并集. 例:
>>> a, b = {1, 2, 3, 4, 5}, {4, 5, 6, 7} >>> a | b {1, 2, 3, 4, 5, 6, 7}
&
用于计算两个集合的交集.例:
>>> a, b = {1, 2, 3, 4, 5}, {4, 5, 6, 7} >>> a & b {4, 5}
^
计算两个集合的非交集. 例:
>>> a, b = {1, 2, 3, 4, 5}, {4, 5, 6, 7} >>> a ^ b {1, 2, 3, 6, 7}
-
计算差集. 例:
>>> a, b = {1, 2, 3, 4, 5}, {4, 5, 6, 7} >>> a - b {1, 2, 3}