python中集合的常用方法和应用场景
1.集合的常用方法
集合:无序的数据类型
添加顺序和在集合中的存储顺序是不一样的
1.增加
增加一个元素.add() s = {6,7,8,9} s.add(1) print(s) 打印结果 {1, 6, 7, 8, 9} 增加一个集合.uppdate() s = {6,7,8,9} s.update({2,3,5}) 打印结果 print(s) {2, 3, 5, 6, 7, 8, 9}
2删除
.remove()删除 s = {6,7,8,9} s.remove(6) print(s) 打印结果 {8, 9, 7} .pop()删除 s = {6,7,8,9} s.pop() print(s) 打印结果 {9, 6, 7}
3交集
s1 = {6,7,8,9} s2 = {3,4,5,6} print('交集:',s1.intersection(s2)) 方法一 print('交集:',s1 & s2) 方法二 打印结果 交集: {6} 交集: {6}
4并集
s1 = {6,7,8,9} s2 = {3,4,5,6} print('并集:',s1.union(s2)) 方法一 print('并集:',s1 | s2) 方法二 打印结果 并集: {3, 4, 5, 6, 7, 8, 9} 并集: {3, 4, 5, 6, 7, 8, 9}
5差集
s1 = {6,7,8,9} s2 = {3,4,5,6} print('差集:',s1.difference(s2)) s1-(s1&s2) 方法一 print('差集:',s2.difference(s1)) s2-(s1&s2) 方法二 对等差分:并集减差集 print('对等差分:',s1.symmetric_difference(s2)) 方法一 print('对等差分:',s1^s2) 方法二 打印结果 差集: {8, 9, 7} 差集: {3, 4, 5} 对等差分: {3, 4, 5, 7, 8, 9} 对等差分: {3, 4, 5, 7, 8, 9}
6.超集
s3 = {1,2} s4 = {1,2,3} print(s3.issuperset(s4)) s3是s4的超集即s4是s3的子集,判断错误 print(s4.issuperset(s3)) s4是s3的超集即s3是s4的子集,判断正确 print(s3.isdisjoint(s4)) 判断s3是s4的超集,判断错误 打印结果 False True False
7.应用场景
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,
对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不>同的学生的学号,然后再把这
些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重
”与排序工作
import random 引入随机函数 s = set([]) 创建空集合 for i in range(int(input('N:'))): 循环遍历数值 使用int()函数即转换字符串为整型 num = random.randint(1,1001) 指定随机产生num个数值 s.add(num) 添加到集合里面 print(sorted(s)) 打印集合元素排序sorted()排序函数 打印结果 N:20 [44, 72, 104, 283, 305, 386, 400, 447, 496, 651, 678, 683, 755, 784, 797, 903, 934, 947, 981, 993]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现