集合
无序可变序列,集合中元素不允许重复,即每个元素都是唯一的
集合中的元素按照升序排列
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
原文地址:https://www.cnblogs.com/feinaio2017/p/8727125.html
时间: 2024-11-06 12:02:30