集合的使用
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
list1=[1,2,5,6]
list1=set[list1] 变成集合
list2=set([5,6,86,9,97,65]) 集合
list1.intersection(list2) 交集,求共同的值(集合不分前后)
list1 & list2
list1.union(list2) 并集,所有值合并一起,去掉重复的保留一个(集合不分前后)
list1 | list2
list1.difference(list2) 差集。list1有的值,list2没有的
list1-list2
list1.issubset(list2) 子集,list1的值,都在list2中
list1.issuperset(list2) 父集,list1是父,list2是子。list2的值都在list1父集中
list1.symmetric_difference(list2) 对称差集。两个列表集合中都没有的取出来,放在一起(集合不分前后)
list1 ^ list2
list1.isdisjoint(list2) list1与list2没有交集为true,有交集为false
list1.add(99) 添加值
list1.update([5,6,8,89]) 多项添加
list1.remove('m') 删除集合中m值.值不存在会报错
list1.pop() 随机删除一个,并打印一次
list1.discard(m) 删除集合中m值.值不存在不会报错,提示none

s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove('H') len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步