python中的集合(Set)的使用
集合是python中的一种常见数据类型,它的元素具有唯一性(不重复),因此常用来进行列表快速去重等。
一、集合的创建
-
set()
- 新建一个空的集合对象
-
set(iterable)
- 新建一个集合对象,传入参数为可迭代对象,比如字符串、列表等
-
示例
In [1]: s1 = set() #新建一个空的集合对象 In [2]: s1 Out[2]: set() In [3]: type(s1) Out[3]: set In [4]: s2 = set("abc") #新建集合,传入字符串 In [5]: s2 Out[5]: {'a', 'b', 'c'}
二、集合常见操作:
-
add()
- 向集合中添加一个元素,该元素如果存在则不做任何处理
-
update(itereable1,...)
- 向集合中依次添加可迭代对象中的元素
-
remove()
- 指定元素删除,如果该元素不存在则报异常
-
pop()
- 删除集合中的首个元素,如果是空集合则报异常
-
discard()
- 指定元素删除,如果该元素不存在则不做任何处理
-
clear()
- 清空集合
-
copy()
- 返回该集合的一个浅拷贝对象
-
difference(itereable1,...)
- 求差集,即返回的集合中,元素为原集合所独有的,注意原集合不受影响
-
difference_update(itereable1,...)
- 该集合依次删除其它可迭代对象中的元素
-
intersection(itereable1,...)
- 求交集,即返回的集合中,元素是和其它可迭代对象所共有的,注意原集合不受影响
-
intersection_update(itereable1,...)
- 修改集合为交集部分
-
union(itereable1,...)
- 求并集,结果同update操作一致
-
symmetric_difference(iterable)
- 求对称差集,参数只能传入一个可迭代对象,返回的是并集减去交集的部分
-
symmetric_difference_update(iterable)
- 修改集合为对称差集
-
isdisjoint(iterable)
- 判断是否没有交集,即该集合与该可迭代对象是否没有公共元素,没有则返回True,否则返回False
-
issubset(iterable)
- 判断是否是子集,即该集合中的元素是否是该可迭代对象中的一部分,是则返回True,否则返回False
-
issuperset(iterable)
- 判断是否是父集,即该集合中的元素是否包含该可迭代对象中的所有元素,是则返回True,否则返回False