day5:python学习之集合
2024-08-30 03:58:04
0. 集合的作用及特点
集合具有去重和关系测试两大作用,它具有无序的特点。
list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
print(list1)
>>>:{1, 2, 3, 4, 5, 6, 7, 8}
1, 几何关系
(1)取交集
取交集有两种方法,一种是直接采用函数,一种使用运算符
list2 = set([2,6,8,9,0])
list1.intersection(list2) 或者 list1 & list2
list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
>>>:{8, 2, 3, 4}
>>>:{8, 2, 3, 4}
(2) 取并集
list1.union(list2) 或 list1 | list2
#取并集
print(list1.union(list2))
print(list1 | list2)
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
(3) 求差集
list1.difference(list2) #in list1 but not in list2
#差集
print(list1.difference(list2))#in list1 but not in list2
print(list2.difference(list1))#in list2 but not in list1
>>>:{1, 5, 6, 7}
>>>:{0, 9}
(4)子集:主要是判断list1是否为list2的子集
list1.issubset(list2) #是,则输出True;不是,则输出False
print(list1.issubset(list2))#判断list1是否为list2的子集
>>>:False
(5)父集
list1.issuperset(list2)
print(list1.issuperset(list2))
>>>:False
list3 =set([1,3,7]) print(list1.issuperset(list3)) >>>:True
(6)对称差集
list1.symmetric_difference(list2) 或 list1 ^ list2
print(list1.symmetric_difference(list2))
print(list1^list2)
>>>:{0, 1, 5, 6, 7, 9}
>>>:{0, 1, 5, 6, 7, 9}
2. 基本操作:增删改查
list1.add(30) #添加一项
list1.update([33,56,77,90]) #添加多项
list1.remove('dd') #删除一项,如果集合中不存在该元素,则会报错
list.pop() #删除任意一个元素
list.discard('dd') #如果集合中不存在该元素,则返回None
最新文章
- 多线程条件通行工具——CountDownLatch
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
- 3sum问题的解决
- Hibernate5.2之一对一外键关联(五)
- IPv6测试环境
- encodeURI和encodeURIComponent的区别
- Jenkins项目构建结果通知Email的替代方案Wall Display插件
- (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates
- 集成 AliPay - 支付宝
- MongoDB学习笔记-游标
- 禁用windows 10自动更新
- 我的MYSQL学习心得(六)
- [笔记]SciPy、Matplotlib基础操作
- HDU 2389 Rain on your Parade / HUST 1164 4 Rain on your Parade(二分图的最大匹配)
- 判断PDF文件是否相同(通过二进制流判断)
- Creator 插件商店:高品质插件
- Springmvc+WebSocket整合
- 微信小程序填坑之旅一(接入)
- ios成长之每日一遍(day 4)
- Inno Setup入门(十)——操作注册表