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

python中的字典

目录

初识字典

字典的常用操作

增加元素

直接增加

删除元素

直接删除

函数pop()

函数clear()

修改元素

直接修改

查找元素

直接查找

函数keys()

函数values()

函数items()


初识字典

能够一次性存储多个数据或多个不同的数据类型,但数据之间必须是具有一一对应关系的键值对。

语法结构:

字典名={'key1':'value1','key2','value2','key3','value3',......}

my_dict = {} #这是一个空字典
student = {'name':'Tom''age':17'class':3
}

字典的常用操作

你,一名准实习勇者,虽然还未正式踏入冒险之路,却从未懈怠每日的修行。黎明破晓,你已背起木剑,踏上山林小道,挥剑斩风、奔跑越野、采集草药,只为锻炼更强健的体魄与更坚定的意志。午后,你会聆听老猎人讲述战斗技巧,与铁匠练习武器的使用与维护。夜晚,在微光中默背魔法口诀,沉思战术布阵。你相信,真正的试炼即将到来,而你,将不辱“勇者”之名。

增加元素

直接增加

通过key键在字典中增加对应的value值。

语法结构:

字典名[key]=value

例如,你在冒险者公会报名时填下了你的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}

现在,你想在注册名单上填写自己的性别一栏。

your_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
your_info['性别'] = '男'
print(your_info)

对代码进行运行测试:

删除元素

直接删除

第一种:通过key键在字典中进行键值对的删除。

语法结构A:

del 字典名[key]

例如,你在冒险者公会的注册名单上不小心填写了一个私密信息,想要只把这一个填错的信息删除掉,你填写的信息如下:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男','家乡':'M78'}

你想把自己的家乡从注册名单上删除,此时可以使用key键直接删除相应的value值。

register_paper = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男','家乡':'M78'}
del register_paper['家乡']
print(register_paper)

对代码进行运行测试:

第二种:直接删除整个字典包括其本身。

语法结构B:

del 字典名

例如,你为了防止填写错误,在冒险者公会的注册系统中保存了一份名单副本,但现在上面的信息已经失效,你想要把它彻底删除。名单副本如下:

{'姓名':'勇者','职业':'仙女','等级':1,'种族':'哥布林','性别':'男','家乡':'M78'}

你可以通过关键字del以及字典名称直接将整个名单彻底删除掉。

register_other = {'姓名':'勇者','职业':'仙女','等级':1,'种族':'哥布林','性别':'男','家乡':'M78'}
del register_other
print(register_other)

对代码进行运行测试:

由name 'register_other' is not defined可知,名单副本已经删干净了。

函数pop()

pop()函数需要通过key键才能对字典中的键值对进行删除,其返回值为key键相对应的value值。

语法结构:

字典名.pop(key)

例如,冒险者公会提供了一种查看历史的功能,可以记录你最近一次删除操作所删除的内容。你是一位记性不太好的勇者,往往需要依靠这份记录来判断下一步操作。你的注册信息如下:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

你现在打算删除自己的性别信息,如果删除后的返回记录为'男',你就会去查看自己的种族信息,否则你会去查看自己的姓名信息。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}
del_info = register_info.pop('性别')
if del_info == '男':print(f"你的种族是{register_info['种族']}")
else:print(f"你的姓名是{register_info['姓名']}")

对代码进行运行测试:

函数clear()

clear()函数会直接将字典中的所有键值对(即keys和values)全部清空。与del不同的是,clear只删除字典中的元素,不删除字典本身。

语法结构:

字典名.clear()

例如,你想要对注册名单上的所有信息进行重新填写,需要把之前填过的信息清空,目前你的信息如下:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类''}

你可以通过clear()对名单进行一键清空。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
register_info.clear()
print(register_info)

对代码进行运行测试:

修改元素

直接修改

直接通过key键将相对应的value值用新值覆盖。

语法结构:

字典名[key]=新值

例如,你在冒险者公会的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

现在,你想修改自己当前在注册名单上的姓名。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
register_info['姓名'] = '小小勇者'
print(register_info)

对代码进行运行测试:

查找元素

直接查找

直接通过key键查找相对应的value值。

语法结构:

字典名[key]

例如,你在冒险者公会的注册名单填下了你的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

现在,你想查看自己当前在冒险者公会的职业和等级,可以通过字典中的key键直接查找对应的value值。

your_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}
your_profession = your_info['职业']
your_grade = your_info['等级']
print(f"你的职业是{your_profession},当前等级为{your_grade}")

对代码进行运行测试:

函数keys()

能够查看所有的key元素,返回值的数据类型是dict_keys。

例如,你在冒险者公会的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

现在,你想查看自己当前在冒险者公会填下的所有的类型名称。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
print(register_info.keys())

对代码进行运行测试:

函数values()

能够查看所有的value元素,返回值的数据类型是dict_values。

例如,你在冒险者公会的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

现在,你想查看自己当前在冒险者公会填下的所有的信息。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
print(register_info.values())

对代码进行运行测试:

函数items()

能够查看所有的key元素及其匹对的value元素,返回值的数据类型是dict_items。

例如,你在冒险者公会的相关信息:

{'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类','性别':'男'}

现在,你想查看自己当前在冒险者公会填下的信息有没有填对相应的类型名称。

register_info = {'姓名':'勇者','职业':'勇者','等级':1,'种族':'人类'}
print(register_info.items())

对代码进行运行测试:

http://www.xdnf.cn/news/17200.html

相关文章:

  • 雷达系统工程学习:自制极化合成孔径雷达无人机
  • bypass
  • SelectDB:新一代实时数仓的核心引擎与应用实战
  • 机器学习——基本算法
  • 笛卡尔坐标
  • Java 中 BigDecimal、Float、Double 的取整与保留小数处理方法详解
  • 简要探讨大型语言模型(LLMs)的发展历史
  • Android进程基础:Zygote
  • Linux 磁盘管理与分区配置
  • 【2025WACV-最佳论文】RayGauss:基于体积高斯的光线投射,用于逼真的小说视图合成
  • (JAVA)自建应用调用企业微信API接口,设置企业可信IP
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第五天(jQuery函数库)
  • 使用1panel将http升级至https的过程
  • 板子指示灯状态设计
  • ESDocValues机制
  • Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
  • python与C++
  • web第一次作业
  • Spring Cloud Gateway 实现登录校验:构建统一认证入口
  • Kali基础知识点【2】
  • Linux 网络深度剖析:传输层协议 UDP/TCP 原理详解
  • 小实验:按键点灯(中断法)
  • 如何安装 nvm-setup.exe?Windows 安装 NVM 管理 Node.js 版本的完整流程(附安装包下载)
  • C# 类型
  • Git基础操作教程
  • Dbeaver数据库的安装和使用(保姆级别)
  • 计算机网络:理解路由的下一跳
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现路口车辆速度的追踪识别(C#代码UI界面版)
  • 【保姆级 - 大模型应用开发】DeepSeek + Faiss + langchain 搭建本地知识库 检索 | 代码实战
  • 行业报告:.games域名正引领游戏娱乐产业营销新风向