set集合,是一個無序且不重復的元素集合,可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
集合用set.pop()方法刪除元素,從集合S中刪除一個隨機元素;如果此集合為空,則引發KeyError異常。實際上在進行代碼實驗時,並不是隨機的。
1.對於python中列表list,tuple類型中的元素,轉換集合時會去掉重復的元素,包含浮點型float。
2.集合對list和tuple具有排序,整型時會排序,其他類型不會。
3.set.pop()是隨機刪除集合中的一個元素,只當集合元素是字符串類型時,並且在腳本運行(CMD)時才會隨機刪除,在交互式環境(IDE)中是保持刪除左邊第一個元素的。如果集合元素是其他數據類型時,是刪除左邊第一個元素的。
Python3集合常用方法
方法 | 意義 |
---|---|
S.add(e) | 在集合中添加一個新的元素e;如果元素已經存在,則不添加 |
S.remove(e) | 從集合中刪除一個元素,如果元素不存在於集合中,則會產生一個KeyError錯誤 |
S.discard(e) | 從集合S中移除一個元素e; |
S.clear() | 清空集合內的所有元素 |
S.copy() | 將集合進行一次淺拷貝 |
S.pop() | 從集合S中刪除一個隨機元素;如果此集合為空,則引發KeyError異常 |
S.update(s2) | 用 S與s2得到的全集更新變量S |
以下內容可以用運算符操作代替 | |
S.difference(s2) | 用S - s2 運算,返回存在於在S中,但不在s2中的所有元素的集合 |
S.difference_update(s2) | 等同於 S = S - s2 |
S.intersection(s2) | 等同於S & s2 |
S.intersection_update(s2) | 等同於S = S & s2 |
S.isdisjoint(s2) | 如果S與s2交集為空返回True,非空則返回False |
S.issubset(s2) | 如果S與s2交集為非空返回True,空則返回False |
S.issuperset(...) | 如果S為s2的子集返回True,否則返回False |
S.symmetric_difference(s2) | 返回對稱補集,等同於 S ^ s2 |
S.symmetric_difference_update(s2) | 用S 與 s2的對稱補集更新 S |
S.union(s2) | 生成 S 與 s2的全集 |