集合

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)

原文地址:https://www.cnblogs.com/lishuangtu/p/8918622.html