当前位置: 首页 > news >正文

python容器4--集合

(1) 什么是集合

集合:Python中使用关键字set表示

集合中存储多个、没有顺序的、不能重复的、可以是不同类型的多个数据!

(2) 集合的声明

python中通过set()或者花括号声明空集合、非空集合

# 声明空集合
s1 = set()
print(s1, type(s1))# 声明非空集合
s2 = {1, 2, 2, 4, 5, 5}
print(s2, type(s2))

(3) 集合增删改查

s = set()# 2.1 添加数据
s.add("java")
s.add("python")
s.add("javascript")
print(s)# 2.2 删除数据(成员运算符)
x = "javascript"
if x in s:s.remove(x)
print(s)# 2.3 修改数据(集合中无法直接修改)
s.remove("java")
s.add('vue')
print(s)# 2.4 遍历数据
for x in s:print("集合遍历:", x)

(4) 集合常见函数

函数描述
add()[掌握]向集合中添加数据
clear()清空集合
copy()复制一个集合
difference()[掌握]A对B集合的差集
difference_update()求差集并更新A集合
discard()[掌握]删除一个数据
intersection()[掌握]交集
intersection_update()交集并更新A集合
isxxxxx()所有判断相关函数
pop()随机删除一个数据
remove()[掌握]删除一个数据
symmetric_difference()完整差集
symmetric_difference_update()完整差集并更新A集合
union()[掌握]并集
update()并集并更新A集合

交并差集

# 3. 集合常见函数
# 3.1 需求1:数据分析,获取用户A和用户B相似画像
s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}
# 交集
print(s1.intersection(s2))# 3.2 需求2:数据分析,整体用户群体画像
# 并集
print(s1.union(s2))# 3.3. 差集
print(s1.difference(s2))

数据容器间的差别

列表元组字典集合
关键字listtupledictset
存储多个数据
存储多种类型
数据包含顺序
数据是否重复key不能重复,value可以重复
数据元素单个单个key:value单个

应用场景:

  • 列表【掌握】:主要存放多个可以重复的、有顺序的数据

  • 元组:主要存放常量数据,程序中不可变的数据

  • 字典【掌握】:主要存放经常操作运算的数据,通过key可以获取value数据参与运算

  • 集合:主要存放用于条件过滤的数据,如剔除重复数据、获取多个数据交差并集等

http://www.lryc.cn/news/432576.html

相关文章:

  • MySQL record 01 part
  • 2024年高教社杯全国大学生数学建模竞赛A题思路(2024数学建模国赛A题思路)
  • Go语言基础语法 20240904更新
  • 软件测试 | 性能测试
  • Arduino IDE
  • 统计学习方法与实战——统计学习方法之感知机
  • 语言学习有捷径?没错!这4个方法让你轻松搞定英语翻译
  • 聊一聊大型网站稳定性建设思路
  • Nginx常用配置
  • 前端开发中遇到的小问题以及解决方案记录2
  • Qt-常用控件(3)-输入类
  • 使用Docker启动Redis容器并映射端口
  • 用fastapi搭建cpca地址提取服务接口
  • libvncclient编写多线程qt的VNC客户端
  • 视频处理基础之gradio框架实现
  • 黑马点评2——商户查询缓存(P37店铺类型查询业务添加缓存练习题答案)redis缓存、更新、穿透、雪崩、击穿、工具封装
  • 概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)
  • [Python]生成器和yield关键字
  • Nginx 负载均衡+高可用 集群部署(Keepalived+LVS DR模式)
  • 算法 | 基础 | 出现奇数次的数字
  • log4j 控制台和文件输出乱码问题解决
  • 在国产芯片上实现YOLOv5/v8图像AI识别-【4.2】RK3588获取USB摄像头图像推流RTSP更多内容见视频
  • TCP/IP协议栈详解及其在现代网络中的应用
  • 亚信安全荣获“2024年网络安全优秀创新成果大赛”优胜奖
  • 如何从硬盘恢复已删除/丢失的文件?硬盘恢复已删除的文件技巧
  • [Linux]:权限
  • 启动Spring Boot报错
  • 部署project_exam_system项目——及容器的编排
  • 网络工程师学习笔记——无线通信网
  • Vue(十三) 路由、路由嵌套、query、param传参、propos、replace属性。编程式路由导航,特有的生命周期函数,路由守卫