新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python学习---DAY17集合

发布时间:2026/10/2 16:44:04来源:尧图网络
Python学习---DAY17集合
可变集合set特点可存储字符/数字/元组/不可变集合等不能改变的内容且内容可以增删改查但内容存入后会变的无序且不重复a{1,9,18,4,5,5,6,a,c,6,(3,2,7)} print(a) #{1, a, 4, 5, 6, 9, 18, (3, 2, 7), c}数据类型为set定义时使用函数set(),接收返回值即可不可变集合frozenset特点与set相比不可以增删改通过frozenset()函数将集合改变为不可变集合并返回如a{1,9,18,4,5,a,c,6} bfrozenset(a) print(b) #frozenset({1, 4, 5, 6, 9, c, 18, a})集合必须储存不可变元素的原因集合定位需要使用元素的哈希值而不是下标所以若元素能被改变就不能被定位集合操作增add方法向集合中添加元素例a{1,9,18,4,5,5,6,a,c,6,(3,2,7)} print(a) a.add(64) print(a) #{1, c, a, 4, 5, 6, 9, 18, (3, 2, 7)} #{64, 1, c, a, 4, 5, 6, 9, 18, (3, 2, 7)}update方法向集合中批量添加元素例a{1,9,18,4,5,5,6,a,c,6,(3,2,7)} a.update([2,h,(3,2,8)]) print(a) #{1, c, 2, 4, 5, 6, a, 9, (3, 2, 8), h, 18, (3, 2, 7)}删remove方法删除指定元素该元素有多少删除多少若无则编译报错例a{1, a, 5, 5, 4, 6, c, 9, 18, (3, 2, 7)} a.remove(5) print(a) #{1, 4, a, 6, 9, c, 18, (3, 2, 7)}discard方法删除指定元素例a{1, a, 5, 5, 4, 6, c, 9, 18, (3, 2, 7)} a.discard((3,2,7)) print(a) #{1, 4, 5, 6, 9, a, 18, c}pop方法随机去除一个元素并返回下标clear方法清除所有元素例a{1, a, 5, 5, 4, 6, c, 9, 18, (3, 2, 7)} a.pop() print(a , a.pop()) a.clear() print(a) #{5, 6, 9, c, 18, a, (3, 2, 7)} 4 #set()改集合无特定修改方法所以通过增删来实现改查集合无特定查方法只能通过成员运算符实现其余方法difference方法查找AB集合差异并返回差异集合例a{5, 6, 9, c, 18, a, (3, 2, 7)} b{1,2,3,4,5,5} ca.difference(b) print(c) #{a, 6, 9, 18, (3, 2, 7), c}difference_update方法将A中的B集合中的元素删除例a{5, 6, 9, c, 18, a, (3, 2, 7)} b{1,2,3,18,c,5} a.difference_update(b) print(a) #{6, (3, 2, 7), a, 9}union方法将两个集合合并返回一个新集合例a{1,23,4,5,6,(3,4,5),hello} b{3.14, world} ca.union(b) print(c) #{1, 3.14, 4, 5, 6, hello, (3, 4, 5), 23, world}issubset方法判断B是否为A的子集issuperset方法判断B是否为A的超集isdisjoint方法判断AB是否存在交集以上三个方法均返回布尔值集合运算并集本质为ab两个集合相或例如a{1,23,4,5,6,(3,4,5),hello} b{3.14, world,1,23,4,5} ca|b print(c) #{1, 3.14, 4, 5, 6, world, hello, (3, 4, 5), 23}交集本质为两集合相与例如a{1,23,4,5,6,(3,4,5),hello} b{3.14, world,1,23,4,5} cab print(c) #{1, 4, 5, 23}差集用于获取属于被减集合而不属于减集合的集合a{1,23,4,5,6,(3,4,5),hello} b{3.14, world,1,23,4,5} ca - b print(c) #{(3, 4, 5), 6, hello}对称差集本质为两集合异或a{1,23,4,5,6,(3,4,5),hello} b{3.14, world,1,23,4,5} ca ^ b print(c) #{3.14, 6, world, (3, 4, 5), hello}集合遍历可通过for循环来直接遍历a{3.14, 6, world, (3, 4, 5), hello} for icnt in a: print(icnt) 3.14 (3, 4, 5) hello 6 world
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

周末总结(2024/01/25):构建高效复盘流程的实践指南 2026/10/2 19:01:43

周末总结(2024/01/25):构建高效复盘流程的实践指南

周末总结(2024/01/25)

阅读更多 →
Java毕业设计即时通讯工具:Socket多线程与离线消息实战 2026/10/2 19:01:43

Java毕业设计即时通讯工具:Socket多线程与离线消息实战

简介:这是一套面向高校计算机专业学生的Java毕业设计完整资料,主题为简易即时通讯工具的设计与开发,适合正在准备毕设、需要参考完整项目实现与论文写作的本科生及自学者。压缩包共收录713个文件,整体约5.05MB,其中以4…

阅读更多 →
ESXi 6.7直通部署U-NAS实战:绕过UEFI与驱动冲突 2026/10/2 19:01:43

ESXi 6.7直通部署U-NAS实战:绕过UEFI与驱动冲突

1. 项目概述:在ESXi 6.7上部署U-NAS——不是“装个NAS系统”那么简单你搜“ESXi6.7安装U-NAS”,大概率是刚买完二手Dell R720、HP DL360 G7,或者手头有台闲置的NUC、迷你主机,想把它变成一台企业级存储虚拟化一体机。但现实很快会…

阅读更多 →
HBase架构深入:HMaster、RegionServer与读写路径全解析 2026/10/2 19:01:43

HBase架构深入:HMaster、RegionServer与读写路径全解析

说到HBase架构,很多人第一反应是"分布式列存储数据库"这个标签,但真正把它放到生产环境里跑过之后,你才会发现这套架构的设计逻辑要远比一个标签复杂。今天这篇文章,我从实际运维和业务开发两个角度,把HBase…

阅读更多 →
Commit AI实战指南:用AI生成规范的Git提交信息与调优经验 2026/10/2 19:01:43

Commit AI实战指南:用AI生成规范的Git提交信息与调优经验

我先说一个自己真实栽过的跟头。去年有次线上事故需要紧急回退版本,我打开git log,看到的是满屏的fix bug、update、modify something,还有几条提交干脆连信息都没写。那个下午,我对着一堆代码提交记录硬猜功能版本,真…

阅读更多 →
JX-F23 sensor驱动开发:从probe到出图的V4L2实战 2026/10/2 19:01:37

JX-F23 sensor驱动开发:从probe到出图的V4L2实战

简介:这份资源面向嵌入式驱动开发与摄像头模组调试人员,提供 JX-F23 图像传感器的驱动源码,用于在目标平台上完成传感器识别、数据采集与视频流输出。传感器支持 19201080 分辨率、30FPS 帧率,适用于实时监控、视频会议、运动摄影…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉