目錄python
集合是多個元素的無序組合函數
集合元素不可更改,不能是可變數據類型code
創建空集合類型,必須使用set()blog
A = {"python", 123, ("python", 123)} # 使用{}創建集合 A
{('python', 123), 123, 'python'}
B = set("pypy123") # 使用set()創建集合 B
{'1', '2', '3', 'p', 'y'}
C = {"python", 123, "python", 123} C
{123, 'python'}
操做符及應用 | 描述 |
---|---|
S | T | 返回一個新集合,包括在集合S和T中的全部元素 |
S - T | 返回一個新集合,包括在集合S但不在T中的元素 |
S & T | 返回一個新集合,包括同時在集合S和T中的元素 |
S ^ T | 返回一個新集合,包括集合S和T中的非相同元素 |
S <= T或S < T | 返回True/False,判斷S和T的子集關係 |
S >= T或S > T | 返回True/False,判斷S和T的包含關係 |
操做符及應用 | 描述 |
---|---|
S |= T | 更新集合S,包括在集合S和T中的全部元素 |
S -= T | 更新集合S,包括在集合S但不在T中的元素 |
S &= T | 更新集合S,包括同時在集合S和T中的元素 |
S ^= T | 更新集合S,包括集合S和T中的非相同元素 |
A = {"p", "y", 123} B = set("pypy123")
A - B
{123}
A & B
{'p', 'y'}
A ^ B
{'1', 123, '2', '3'}
B - A
{'1', '2', '3'}
A | B
{'1', 123, '2', '3', 'p', 'y'}
操做函數或方法 | 描述 |
---|---|
S.add(x) | 若是x不在集合S中,將x增長到S |
S.discard(x) | 移除S中元素x,若是x不在集合S中,不報錯 |
S.remove(x) | 移除S中元素x,若是x不在集合S中,產生KeyError異常 |
S.clear() | 移除S中全部元素 |
S.pop() | 隨機返回S的一個元素,更新S,若S爲空產生KeyError異常 |
S.copy() | 返回集合S的一個副本 |
len(S) | 返回集合S的元素個數 |
x in S | 判斷S中元素x,x在集合S中,返回True,不然返回False |
x not in S | 判斷S中元素x,x不在集合S中,返回False,不然返回True |
set(x) | 將其餘類型變量x轉變爲集合類型 |
A = {"p", "y", 123} for item in A: print(item, end="")
123yp
"p" in {"p", "y" , 123}
True
{"p", "y"} >= {"p", "y" , 123}
False
ls = ["p", "p", "y", "y", 123]
s = set(ls) # 利用了集合無重複元素的特色 s
{123, 'p', 'y'}
lt = list(s) # 還能夠將集合轉換爲列表 lt
[123, 'y', 'p']