集合是一個無序的,不重複的數據組合,它的主要做用以下:html
- 去重,把一個列表變成集合,就自動去重了
- 集合中的元素必須是不可變類型
- 關係測試,測試兩組數據以前的交集、差集、並集等關係
經常使用操做python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
a
=
set
([
1
,
2
,
3
,
4
,
5
])
b
=
set
([
4
,
5
,
6
,
7
,
8
])
print
(a.intersection(b))
#交集 {4, 5}
print
(a&b)
print
(a.union(b))
#並集 {1, 2, 3, 4, 5, 6, 7, 8}
print
(a|b)
print
(a.difference(b))
#插集、獲得的是a裏有的b裏沒有的 {1, 2, 3}
print
(a
-
b)
print
(b.difference(a))
#插集、獲得的是b裏有的a裏沒有的 {8, 6, 7}
print
(b
-
a)
print
(a.symmetric_difference(b))
#方向交集、{1, 2, 3, 6, 7, 8}
print
(a^b)
|
1 s = set([3,5,9,10]) #建立一個數值集合 2 3 t = set("Hello") #建立一個惟一字符的集合 4 5 6 a = t | s # t 和 s的並集 7 8 b = t & s # t 和 s的交集 9 10 c = t – s # 求差集(項在t中,但不在s中) 11 12 d = t ^ s # 對稱差集(項在t或s中,但不會同時出如今兩者中) 13 14 15 16 基本操做: 17 18 t.add('x') # 添加一項 19 20 s.update([10,37,42]) # 在s中添加多項 21 22 t.pop() #隨機刪除 t.disicard() 指定刪除(元素不存在會報錯) 23 24 使用remove()能夠刪除指定一項(元素不存在會報錯): 25 26 t.remove('H') 27 28 29 len(s) 30 set 的長度 31 32 x in s 33 測試 x 是不是 s 的成員 34 35 x not in s 36 測試 x 是否不是 s 的成員 37 38 s.issubset(t) 39 s <= t 40 測試是否 s 中的每個元素都在 t 中 41 42 s.issuperset(t) 43 s >= t 44 測試是否 t 中的每個元素都在 s 中 45 46 s.union(t) 47 s | t 48 返回一個新的 set 包含 s 和 t 中的每個元素 49 50 s.intersection(t) 51 s & t 52 返回一個新的 set 包含 s 和 t 中的公共元素 53 54 s.difference(t) 55 s - t 56 返回一個新的 set 包含 s 中有可是 t 中沒有的元素 57 58 s.symmetric_difference(t) 59 s ^ t 60 返回一個新的 set 包含 s 和 t 中不重複的元素 61 62 s.copy() 63 返回 set 「s」的一個淺複製