1. 程式人生 > >python基本數據類型——集合

python基本數據類型——集合

ont 添加元素 提取 amp 有一個 port mov true 基本數據

集合

無序可變序列,集合中元素不允許重復,即每個元素都是唯一的

集合中的元素按照升序排列

 1 # 創建集合
 2 >>aset  = set([0,2,4,5,7,2,3,5,9,0])
 3 >>print(aset)
 4 {0, 2, 3, 4, 5, 7, 9}
 5 # 添加元素,按順序插入集合
 6 >>aset.add(6)
 7 >>print(aset)
 8 {0, 2, 3, 4, 5, 6, 7, 9}
 9 
10 #刪除元素
11 >>aset.pop()
12 >>print(aset)
13 {2, 3, 4, 5, 6, 7, 9}
14 # remove刪除指定元素 15 >>aset.remove(2) 16 {3, 4, 5, 6, 7, 9} 17 # clear 清空 18 >>aset.clear() 19 >>print(aset) 20 set()

集合操作

 1 >>aset = {1,2,3,5,7}
 2 >>bset = {4,5,6,7}
 3 #並集
 4 >>aset | bset
 5 {1, 2, 3, 4, 5, 6, 7}
 6 # 交集
 7 >>aset & bset
 8 {5, 7}
9 >>aset.intersection(bset) 10 {5, 7} 11 # 差集 12 >>aset.difference(bset) 13 {1, 2, 3} 14 # 對稱差 15 >>aset.symmetric_difference(bset) 16 {1, 2, 3, 4, 6} 17 # 測試是否為子集 18 >>x={1,2} 19 >>x.issubset(aset) 20 True 21 >>x.issubset(bset) 22 False

由於集合中元素是唯一的,可以使用集合提取序列中單一元素,或生成不重復的隨機序列

 1 >>from random import randint
 2 >>from collections import Counter
 3 >>listR = [randint(0,100) for i in range(40)]
 4 >>numFreq = Counter(listR)
 5 >>print(numFreq)
 6 Counter({3: 1,
 7          4: 2,
 8          7: 1,
 9          13: 1,
10          17: 1,
11          19: 1,
12          23: 1,
13          26: 1,
14          44: 1,
15          50: 1,
16          52: 1,
17          53: 1,
18          54: 1,
19          55: 1,
20          60: 1,
21          62: 1,
22          68: 1,
23          73: 1,
24          77: 1})
25 # 隨機數中包含2個4
26 >>noRepeat = set(listR)
27 >>print(noRepeat)
28 3, 4, 7, 13, 17, 19, 23, 26, 44, 50, 52, 
  53, 54, 55, 60, 62, 68, 73, 77} 29 # 生成的集合中只有一個4

python基本數據類型——集合