>>> a = {1,2,3,4,'a'} >>> type(a) <class 'set'>
>>>set('boy') set(['y', 'b', 'o'])
建立空集合比較特殊。
在 Python 中,空花括號「{}」用於建立空字典。要建立一個沒有任何元素的集合,使用set()函數(不要包含任何參數)。python
>>> a = set() >>> a set() >>> b = {} >>> type(a),type(b) (<class 'set'>, <class 'dict'>)
in關鍵字,判斷某key是否在set中,並返回True or False。數組
>>> s = set([1,2,3,2,1,3,4,5]) >>> s {1, 2, 3, 4, 5}
add()方法:添加元素到set中。能夠重複添加,but沒有效果,由於set中元素惟一性,會過濾重複的元素。函數
>>> s.add(6) >>> s {1, 2, 3, 4, 5, 6}
update():將參數添加到set中並返回一個set,自動過濾重複元素。
update()方法既能夠帶一個單參數,也能夠帶一個or多個set,就好像屢次調用add()。spa
remove(key)、discard(key)刪除指定元素。
區別:其中remove()刪除不存在的key時會返回報錯,而discard()不會。code
>>> a_set = {1,2,3,6,10,15,21,28,36,45} >>> a_set {1, 2, 3, 36, 6, 10, 45, 15, 21, 28} # 並不必定是按填寫的順序 >>> a_set.discard(10) >>> a_set {1, 2, 3, 36, 6, 45, 15, 21, 28} >>> a_set.remove(21) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 21
pop()函數不須要帶任何參數,將set中的第一個元素刪除。索引
>>> a_set.pop() 1 >>> a_set {2, 3, 36, 6, 45, 15, 28}
clear()函數,清空set,集合仍存在,只不過爲空集合。ip
>>> a_set.clear() >>> a_set set()
語法形式:del set_namerem
set能夠當作數學意義上的無序、無重複元素的集合,所以,兩個set能夠作數學意義上的交集、並集等操做。字符串
>>> s1 =set([1,3,6]) >>> s & s1 # and {1, 3, 6} >>> s | s1 # or {1, 2, 3, 5, 6} >>> a_set = {1,2,3,4,5,6,7,8,9,0} >>> b_set = {1,2,3,4,5,11,12,13,14,15} >>> a_set.union(b_set) # 並集|,或者直接a_set | b_set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15} >>> a_set.intersection(b_set) # 交集&,或者直接使用 a_set & b_set {1, 2, 3, 4, 5} >>> a_set.difference(b_set) # 差集,在a中但不在b中 {0, 6, 7, 8, 9} >>> a_set.symmetric_difference(b_set) #在a中不在b中 and 在b中不在a中 {0, 6, 7, 8, 9, 11, 12, 13, 14, 15}