集合
特點:集合對象是一組無序排列的可哈希的值:集合成員可以做字典的鍵,與列表和元組不同,集合無法通過數字進行索引。此外,集合中的元素不能重復。
定義
1
2
3
|
set () - > new empty set object set (iterable) - > new set object s = { 0 } |
應用:去重
1
2
3
|
>>> lst1 = [ 1 , 1 , 2 , 2 , 3 , 4 , 2 ] >>> list ( set (lst1)) [ 1 , 2 , 3 , 4 ] |
常用操作
集合支持一系列標準操作,包括并集|、交集&、差集-和對稱差集^
子集< <=及超集> >=
增刪,清空操作
具體見如下代碼例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
>>> lst1 = [ 1 , 2 ] >>> lst2 = [ 2 , 3 ] >>> a = set (lst1) #定義集合 >>> b = set (lst2) >>> a,b ({ 1 , 2 }, { 2 , 3 }) >>> a|b #取并集 { 1 , 2 , 3 } >>> a&b #取交集 { 2 } >>> a - b #取差集 { 1 } >>> b - a #取差集 { 3 } >>> list (a) #轉換集合為列表,也可轉為元組,如 tuple(a)返回 (1,2) [ 1 , 2 ] >>> a < b #子集判斷 False >>> c = set ([ 1 ]) >>> c { 1 } >>> c < a #子集判斷 True >>> c < = a #子集判斷 True >>> d = set ([ 1 , 2 , 3 ]) >>> d > a #超集判斷 True >>> >>> d > = a #超集判斷 True >>> a,b ({ 1 , 2 }, { 2 , 3 }) >>> a^b # 對稱差集 { 1 , 3 } >>> c { 1 } >>> d { 1 , 2 , 3 } >>> a^d # 對稱差集 { 3 } >>> s = { 0 } >>> type (s) < class 'set' > >>> >>> print (s, len (s)) #集合長度 { 0 } 1 >>> s.add( '1' ) #添加元素 >>> s { 0 , '1' } >>> s.update([ 2 , 3 ]) #添加多個元素 >>> s { 0 , 2 , 3 , '1' } >>> s.remove( 2 ) #刪除指定元素,如沒有則報錯 >>> s { 0 , 3 , '1' } >>> s.pop() #隨便刪元素(貌似沒什么用) 0 >>> s { 3 , '1' } >>> s.discard( 3 ) #刪除指定元素 >>> s { '1' } >>> s.clear() #清空集合 >>> s set () |