Python基础快速复习——集合和字典

一、字典(dict)------ 键值对存储

定义 :使用 {} 存储,由 键 (key) : 值 (value) 组成,键必须唯一且不可变(字符串 / 数字 / 元组),值可以任意类型。

复制代码
定义字典字面量:{key:value,key:value,......,key:value}
定义字典变量:my_dict = {key:value,key:value,......,key:value}
定义空字典:my_dict={}或my_dict=dict()
  • 每一个元素是一个键值对,key和value可以是任意类型的数据(key不可以为字典,value任意:字典,整数,字符串等)
  • 无法用下标,可以用key找到对应的value

常用方法

  • 新增元素:字典key=value
  • 更新:字典key=value(字典key不可以重复,所有对已经存在的key执行上述操作,就是更新value值)
  • 删除:字典.pop(key),(并将其对应的value作为返回值提供)
  • 清空字典:字典.clear()
  • 获取全部的key:字典.keys()
  • 遍历字典:for key in 字典.keys()

字典特点

  1. 键必须唯一,重复键会覆盖
  2. 键不可变,不能用列表 / 字典当键
  3. Python 3.7+ 字典保留插入顺序
  4. 查找速度极快(哈希表)

二、集合(set)------ 无序不重复

定义 :使用 {} 存储,只有元素,没有键值对 ,自动去重,无序

复制代码
定义集合字面量:{元素,元素,......,元素}
定义集合变量:变量名称 = {元素,元素,......,元素}
定义空集合:变量名称 = set()

常用操作

  • 增加元素:集合.add(元素)
  • 删除原宿:集合.remove(元素)
  • 从集合中随机抽取一个元素:集合.pop()
  • 清空集合:集合.clean()
  • 集合1.difference(集合2):取出集合1和集合2的差集,集合1有集合2没有的
  • 集合1.difference_update(集合2):对比集合1和集合2,在集合1内,删除和集合2相同的元素,结果:集合1被修改,集合2不变
  • 集合1.union(集合2):将集合1和集合2组成新集合,结果:得到新集合,集合1和集合2不变。

遍历集合,只能用for,不能用while,因为集合不支持下标

集合特点

  1. 自动去重(最常用功能)
  2. 无序,不能用下标访问
  3. 元素必须不可变(不能存列表 / 字典)
  4. 成员判断 in 速度远快于列表

三、字典 vs 集合 快速对比

特性 字典 (dict) 集合 (set)
符号 {key:value} {元素}
存储形式 键值对 单个元素
去重 键自动去重 元素自动去重
顺序 3.7+ 有序 完全无序
查找速度 极快 极快
常用场景 存储结构化数据 去重、数学运算
相关推荐
烂蜻蜓43 分钟前
Flask入门教程(十二):表单处理——从基础到Flask-WTF完整实践
后端·python·flask
jay神1 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
满怀冰雪2 小时前
24-PaddleClas 模型评估、导出与推理部署入门
大数据·人工智能·python·深度学习·paddle
Chester_19997 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
DeepVisionary7 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
阡之尘埃8 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
EXI-小洲8 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
cvcode_study8 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
会周易的程序员8 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm