Python set 集合最經常使用的操做是向集合中添加、刪除元素,以及集合之間作交集、並集、差集等運算,本節將一一講解這些操做的具體實現。python
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 集合中的指定元素,可使用 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}
集合最常作的操做就是進行交集、並集、差集以及對稱差集運算,首先有必要給你們普及一下各個運算的含義。ast
圖 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} |