Python學習10.15:Python set集合基本操做(添加、刪除、交集、並集、差集)

Python set 集合最經常使用的操做是向集合中添加、刪除元素,以及集合之間作交集、並集、差集等運算,本節將一一講解這些操做的具體實現。python

向 set 集合中添加元素

set 集合中添加元素,可使用 set 類型提供的 add() 方法實現,該方法的語法格式爲:spa

setname.add(element)

其中,setname 表示要添加元素的集合,element 表示要添加的元素內容。

須要注意的是,使用 add() 方法添加的元素,只能是數字、字符串、元組或者布爾類型(True 和 False)值,不能添加list、dict、set這類數據(集合set不能保存可變數據類型),不然 Python 解釋器會報 TypeError 錯誤。例如:code

a = {1,2,3}
a.add((1,2))
print(a)
a.add([1,2])
print(a)

運行結果爲:blog

{(1, 2), 1, 2, 3}
Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    a.add([1,2])
TypeError: unhashable type: 'list'

從set集合中刪除元素

刪除現有 set 集合中的指定元素,可使用 remove() 方法,該方法的語法格式以下:element

setname.remove(element)

使用此方法刪除集合中元素,須要注意的是,若是被刪除元素本就不包含在集合中,則此方法會拋出 KeyError 錯誤,例如:rem

a = {1,2,3}
a.remove(1)
print(a)
a.remove(1)
print(a)

運行結果爲:字符串

{2, 3}
Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    a.remove(1)
KeyError: 1

上面程序中,因爲集合中的元素 1 已被刪除,所以當再次嘗試使用 remove() 方法刪除時,會引起 KeyError 錯誤。

若是咱們不想在刪除失敗時令解釋器提示 KeyError 錯誤,還可使用 discard() 方法,此方法和 remove() 方法的用法徹底相同,惟一的區別就是,當刪除集合中元素失敗時,此方法不會拋出任何錯誤。

例如:hash

a = {1,2,3}
a.remove(1)
print(a)
a.discard(1)
print(a)

運行結果爲:table

{2, 3}
{2, 3}

Python set集合作交集、並集、差集運算

集合最常作的操做就是進行交集、並集、差集以及對稱差集運算,首先有必要給你們普及一下各個運算的含義。ast



圖 1 集合示意圖


圖 1 中,有 2 個集合,分別爲 set1={1,2,3} 和 set2={3,4,5},它們既有相同的元素,也有不一樣的元素。以這兩個集合爲例,分別作不一樣運算的結果如表 1 所示。
 

表 1 Python set集合運算

運算操做 Python運算符 含義 例子
交集 & 取兩集合公共的元素 >>> set1 & set2
{3}
並集 | 取兩集合所有的元素 >>> set1 | set2
{1,2,3,4,5}
差集 - 取一個集合中另外一集合沒有的元素 >>> set1 - set2
{1,2}
>>> set2 - set1
{4,5}
對稱差集 ^ 取集合 A 和 B 中不屬於 A&B 的元素 >>> set1 ^ set2 {1,2,4,5}
相關文章
相關標籤/搜索