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+ 有序 完全无序
查找速度 极快 极快
常用场景 存储结构化数据 去重、数学运算
相关推荐
大衛說6 分钟前
12 · 文件 I/O 与序列化
python
小静AI工程实验室20 分钟前
Python 爬虫中文乱码排查:严格解码、UTF-8 BOM 与 JSON 转义的 12 项实验
字符编码·爬虫·python
天天被压力27 分钟前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
weixin1997010801632 分钟前
[特殊字符]️《从0到1搭多平台二手ERP中台:闲鱼+淘宝+京东+拼多多+Mercari统一调度》(附Python源码)
python
王国强200932 分钟前
uv 深入指南:重新理解 Python 的包管理、依赖解析与项目工程化
python
巡山小钻风来也34 分钟前
【保姆级教程】自定义数据集微调PP-OCRv6文本检测模型
python·ocr·paddlepaddle
aramae42 分钟前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
baopixiaoz43 分钟前
BeeQuant × BeeAgent:用AI加速策略验证
大数据·人工智能·python·区块链
浩瀚地学1 小时前
deepagents学习打卡day04
python·agent
安易算力2 小时前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes