1、定义
集合:
1、不同元素组成
2、无序
3、集合中元素必须是不可变类型(字符串、数字、元祖)
二、函数
1 .add() #添加元素,只能加一个值
2 .pop() #随机删除元素
3 .remove() #删除指定元素,不存在时会报错
4 .discard() #删除指定元素,不存在时不会报错
4 .copy() #复制集合
s = {'kop',1,2,3,3,4,5,6,'qq'} print(s) s.add('123') print(s) sn = s.copy() print(sn) print(s.pop()) sq = s.remove(4) print(s) sd = s.discard(45) print(s) s.clear() print(s)
输出结果:
{1, 2, 3, 4, 5, 6, 'kop', 'qq'}
{1, 2, 3, 4, 5, 6, '123', 'kop', 'qq'}
{1, 2, 3, 4, 5, 6, '123', 'kop', 'qq'}
1
{2, 3, 5, 6, '123', 'kop', 'qq'}
{2, 3, 5, 6, '123', 'kop', 'qq'}
set()
.frozenset() #不可变集合,无法增删
.set() #可变集合
三、常用关系运算
1、求交集
print(a,b) #a,b为集合
print(a.intersection(b))
print(a&b)
2、求并集
print(a.union(b))
pring(a|b)
3、求差集
print(a-b)
print(a.difference(b))
4、交叉补集
print(a.symmntric_difference(b))
pring(a^b)
5、重新给a赋值,用 .update(),前面可加其他函数组合。
a = a - b #给a重新赋值,赋值为a减去b的差集,如下:
print(a.difference_update(b))
print(a.update(b)) #可迭代的都可以
6、a与b中不含共同的元素
print(a.isdisjoint(b)) #输出结果是布尔值
7、b中包含a的所有元素,即a<=b,亦即a是b的子集
print(a.issubset(b)) #输出结果是布尔值
8、a中包含b的所有元素,即a>=b,亦即b是a的子集
print(a.issuperset(b)) #输出结果是布尔值
四、活用
去重
names=['alex','alex','wd']
names = list(set(names))
print(names)