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 |