set感覺用的不太多,但遇到了就比較炸毛了。
set集合,是一個無序且不重複的元素集合。可以用於去重。
集合中的元素必須是可散列的。
一、創建集合
>>>set('boy')
set(['y', 'b', 'o'])
>>> a = set()
>>> a
set()
二、添加、刪除集合
python 集合的添加有兩種常用方法,分別是add和update。
集合add方法:是把要傳入的元素做爲一個整個添加到集合中
>>> a = set()
>>> a.add('python')
>>> a
{'python'}
集合update方法:是把要傳入的元素拆分,做爲個體傳入到集合中,從而更新集合中的內容
>>> a = set('boy')
>>> a.update('python')
>>> a
{'o', 'h', 't', 'y', 'b', 'p', 'n'}
>>>
集合刪除操作方法:remove
>>> a.remove('b')
>>> a
{'o', 'h', 't', 'y', 'p', 'n'}
三、集合運算(中綴運算符)
數學符合 | python符號 | 含義 |
— 或 \ | — | 差集,相對補集 |
∩ | & | 交集 |
∪ | | | 合集、並集 |
≠ | != | 不等於 |
= | == | 等於 |
∈ | in | 是成員關係 |
∉ | not in | 非成員關係 |
如:s & z,s &=z(更新s爲交集),s | z, s |=z(更新s爲並集), s -= z(更新s爲差集)
四、內置函數
set.add(‘test’) | 向集合中添加元素 | 'test'作爲整體添加 |
set.clear() | 清空集合 | |
set.copy() | 複製集合 | |
set.discard(e) | 如果有e元素,把它移除 | |
set.__iter__() | 返回集合迭代器 | |
set.__len__() | 集合長度 | |
set.pop() | 從 set 中移除一個元素並返回它的值,若 s 爲空,則拋 出 KeyError 異常 | |
set.remove(e) | 從 set中移除 e 元素,若 e 元素不存在,則拋出 KeyError 異常 | |
set(object) | 轉換爲集合 | |
五、集合推導
>>> from unicodedata import name
>>> {chr(i) for i in range(32, 256) if 'SIGN' in name(chr(i), '')}
{'¶', '°', '®', '¥', '¢', '=', '+', '£', '#', '÷', '%', '©', '$', '±', '¤', 'µ', '¬', '<', '>', '§', '×'}