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

【Python修仙编程】(二) Python3灵源初探(7)

字典的修炼——修仙者的法宝库

师傅玄天真人在他面前摊开一本泛黄的法典,上面写着:“字典是修仙者存储法宝的仓库,能让你快速找到需要的宝贝。”

“师傅,字典是啥玩意儿?”林羽挠挠头,一脸懵逼。

“字典是Python中的一种‘法宝库’,它不像列表那样按顺序存储,而是通过‘键’来找东西。”玄天真人解释道,“就像你在法宝库里贴上标签,写上‘飞剑’或者‘丹药’,以后直接按标签找就行。”

“那键有啥要求?”林羽继续问。

“键必须是不可变的东西,比如数字、字符串,不能是列表或者其他乱七八糟的东西。而且同一个字典里,键不能重复。”玄天真人随手写下一段代码:

# 创建一个空字典
法宝库 ={}
法宝库['飞剑']="青云剑"
法宝库['丹药']="九转金丹"

# 另一个法宝库
小法宝库 ={'飞剑':'青云剑','丹药':'九转金丹','符咒':'隐身符'}

“看,这就是字典的用法。”玄天真人说道,“用大括号{}包裹,键和值用冒号隔开,键值对之间用逗号分隔。”

林羽照着写了一遍,发现自己的法宝库成功创建了。

打怪升级:字典的练习

“接下来,你要练习如何从法宝库里取东西。”玄天真人丢给林羽一段代码:

法宝库 = {'飞剑': '青云剑', '丹药': '九转金丹', '符咒': '隐身符'}

# 取出飞剑
print(法宝库['飞剑'])

# 取出丹药
print(法宝库['丹药'])

林羽运行后,法典上显示出:

青云剑
九转金丹

“师傅,我取出来了!”林羽兴奋地说。

“很好,这只是第一步。”玄天真人又丢给他一个任务:

练习实例:

  1. 创建一个字典,存储三种法宝:飞剑、丹药、符咒。

  2. 添加一种新法宝:灵宠,值为“青龙”。

  3. 修改丹药的值为“九转还魂丹”。

  4. 删除符咒。

  5. 打印最终的法宝库。

林羽开始动手:复制

# 创建法宝库
法宝库 ={'飞剑':'青云剑','丹药':'九转金丹','符咒':'隐身符'}

# 添加灵宠
法宝库['灵宠']='青龙'

# 修改丹药
法宝库['丹药']='九转还魂丹'

# 删除符咒
del 宝库['符咒']

# 打印法宝库
print(法宝库)

运行后,法典上显示出:

{'飞剑': '青云剑', '丹药': '九转还魂丹', '灵宠': '青龙'}

“不错,经验值+20!”玄天真人满意地点点头。

字典的高级修炼——法宝库的秘籍

“字典还有很多高级用法。”玄天真人翻开法典的下一页,上面写着:“字典推导式和内置函数。”

“啥是字典推导式?”林羽好奇地问。

“字典推导式就像批量制造法宝的法术。”玄天真人写下一段代码:

# 用字典推导式创建法宝库
法宝库 = {f'法宝{i}': f'宝贝{i}' for i in range(1, 4)}
print(法宝库)

运行后,法典上显示出:

{'法宝1': '宝贝1', '法宝2': '宝贝2', '法宝3': '宝贝3'}

“哇,这太方便了!”林羽惊叹道。

“还有内置函数,比如keys()、values()、items(),它们能帮你快速查看法宝库的信息。”玄天真人继续说道:

# 查看所有键
print(法宝库.keys())

# 查看所有值
print(法宝库.values())

# 查看键值对
print(法宝库.items())

运行后,法典上显示出:

dict_keys(['法宝1', '法宝2', '法宝3'])
dict_values(['宝贝1', '宝贝2', '宝贝3'])
dict_items([('法宝1', '宝贝1'), ('法宝2', '宝贝2'), ('法宝3', '宝贝3')])

“师傅,这些函数太好用了!”林羽开心地说。

打怪升级:字典的高级练习

“最后,你要学会清空法宝库。”玄天真人丢给林羽一个任务:

练习实例:

  1. 创建一个字典,存储三种法宝:飞剑、丹药、符咒。

  2. 使用clear()清空字典。

  3. 打印清空后的字典。

林羽开始动手:

# 创建法宝库
法宝库 = {'飞剑': '青云剑', '丹药': '九转金丹', '符咒': '隐身符'}

# 清空法宝库
法宝库.clear()

# 打印法宝库
print(法宝库)

运行后,法典上显示出:

{}

“师傅,我成功清空了!”林羽兴奋地说。

“很好,经验值+30!”玄天真人满意地笑了。

经过这一番修炼,林羽对字典的用法已经了如指掌,离进阶又更近一步了。

相关文章:

  • c++ 调用 gurobi 库,cmake,mac
  • 云原生边缘计算:重塑分布式智能的时空边界
  • 在16卡服务器上使用最新版的CUDA和驱动训练`llama - 2 - 7b`和`llama - 2 - 70b`模型,并生成训练指标数据
  • MyBatis-Plus 使用技巧
  • 通过 Python 实现“机器学习”小项目教程案例:鸢尾花分类
  • 前端数据模拟 Mock.js 学习笔记
  • 基于Spring Boot的高校就业招聘系统的设计与实现(LW+源码+讲解)
  • Python关键字参数避坑指南:关键字参数开发中的参数顺序,参数覆盖,动态参数怎么使用?详细使用教程!
  • 基于51单片机的智能水箱控制系统proteus仿真
  • 信道编码中的硬判决与软判决
  • 高效数据管理:WPF中实现带全选功能的DataGrid复选框列
  • 从李佳琦团队看新型用工:灵活就业如何重构组织架构?
  • 【移动WEB开发】流式布局
  • rv1106g2摄像头wlan0固定mac地址
  • go 标准库包学习笔记
  • 51c视觉~3D~合集2
  • Ubuntu 20.04下配置VSCode以支持Eigen库开发
  • K8s 1.27.1 实战系列(四)验证集群及应用部署测试
  • 18类创新平台培育入库!长沙经开区2025年各类科技创新平台培育申报流程时间材料及申报条件
  • JDBC与数据库连接池
  • 紫金网站建设/网站优化课程培训
  • 网站开发专业有哪些/深圳百度网站排名优化
  • 10m光纤做网站/厦门百度公司
  • 徐州有哪些网站制作公司/写文案接单平台
  • 电商主图设计网站/怎么自己弄一个网站
  • 专门用于网页制作的软件/seo优化上海牛巨微