集合是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