1 Python 集合

定义

set(集合)是一种常用存储数据的容器 

集合是一个无序的,不重复的数据组合 

集合作用

1 元素的去重,把一个列表变成集合,可以实现自动的去重
2 关系测试,进行两个集合中数据的数学关系运算

集合创建

# 方式一:使用列表创建
list =[1,3,5,2,6,8,3]
set1= set(list)
# 方式二:创建唯一字符的集合
set3 =set("Hello")

集合案例

去重

list =[1,3,5,2,6,8,3]
set1= set(list)
>>>{1, 2, 3, 5, 6, 8}# 将列表中重复的元素去除

交集

list =[1,3,5,2,6,8,3]
set1= set(list)

list2 =[4,5,6,7,2,9,0]
set2 = set(list2)
print(set1.intersection(set2))
>>>{2, 5, 6}#求两个集合的交集

并集

print(set1.union(set2))
>>>{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

差集

# 在集合set1 但是不在集合set2
print(set1.difference(set2))
>>>{8, 1, 3}

子集

list2 =[4,5,6,7,2,9,0]
set2 = set(list2)
set4 = set([2,9])
#判断集合set4是否是集合set2的子集
print(set4.issubset(set2))# 返回布尔值
>>>True
# 父集则相反
print(set2.issuperset(set4))
>>>True

对称差集

print(set1.symmetric_difference(set2))
>>>{0, 1, 3, 4, 7, 8, 9}
#对称差集就是两个集合的并集减去两个集合的交集

符号操作集合

a = t | s          # t 和 s的并集    b = t & s          # t 和 s的交集    c = t – s          # 求差集(项在t中,但不在s中)    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

集合方法操作

集合添加

#添加一个元素set1.add("hhh")print(set1)>>>{1, 2, 3, 5, 6, 8, 'hhh'}#添加多项set2.update([55,66,77])print(set2)>>>{0, 2, 66, 4, 5, 6, 7, 9, 77, 55}

集合删除

set1.remove(1)# 使用remove删除print(set1)>>>{2, 3, 5, 6, 8, 'hhh'}# 可以使用pop()弹出,当弹完元素后,继续弹出,那么就会报错set1.pop()

集合常用函数

方法名

描述

len(set)

返回集合的长度

item in set

判读是否为集合中元素

item not in set

判读是否不为集合中元素

set1.issubset(set)

判断set1中任意元素都在set中

set1.issuperset(set)

判断set中任意元素都在set1中

set.copy()

浅复制一个set