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

Python 进阶

Python 词典详解

词典的基本概念

词典是 Python 内置的数据结构,用于存储键值对的集合。其工作原理类似于现实中的词典 - 通过键(关键词)来查找对应的值(定义)。

词典语法

Python 词典的基本语法如下:

dictionary = { key1: value1, key2: value2 }
  • 词典通常存储在变量中以便后续使用
  • 使用花括号{}包裹键值对
  • 每个键对应一个值,键必须是唯一的且不可变
  • 值可以重复且可以是任意数据类型
  • 键值对之间用逗号分隔

词典示例

以下是存储披萨信息的词典示例:

pizza = { 'name': 'Margherita Pizza', 'price': 8.9, 'calories_per_slice': 250, 'toppings': ['mozzarella', 'basil'] }

创建词典的替代方法

可以使用dict()构造函数创建词典:

pizza = dict([ ('name', 'Margherita Pizza'), ('price', 8.9), ('calories_per_slice', 250), ('toppings', ['mozzarella', 'basil']) ])

访问和修改词典

  • 访问值:dictionary[key]

    pizza['name'] # 返回 'Margherita Pizza'
  • 修改值:

    pizza['name'] = 'Margherita' print(pizza['name']) # 输出 'Margherita'

常用词典方法

  1. .get(key, default)- 安全获取值

    pizza.get('toppings', []) # 返回 ['mozzarella', 'basil'] 或空列表
  2. .keys()- 获取所有键

    pizza.keys() # dict_keys(['name', 'price', 'calories_per_slice'])
  3. .values()- 获取所有值

    pizza.values() # dict_values(['Margherita Pizza', 8.9, 250])
  4. .items()- 获取所有键值对

    pizza.items() # dict_items([('name', 'Margherita Pizza'), ('price', 8.9)])
  5. .clear()- 清空词典

    pizza.clear()
  6. .pop(key, default)- 移除并返回指定键的值

    pizza.pop('price', 10)
  7. .popitem()- 移除最后插入的项(Python 3.7+)

    pizza.popitem()
  8. .update()- 更新词典

    pizza.update({'price': 15, 'total_time': 25})

更新后的词典:

{ 'name': 'Margherita Pizza', 'price': 15, 'calories_per_slice': 250, 'toppings': ['mozzarella', 'basil'], 'total_time': 25 }
http://www.jsqmd.com/news/695864/

相关文章:

  • Service Mesh(服务网格)介绍(将服务间通信复杂逻辑从业务代码中剥离,交由独立基础设施处理)Sidecar Proxy、数据平面、控制平面、Envoy、Istio、Linkerd
  • Meta计划5月裁员约10%,约8000人受影响,此前AI领域投资巨大
  • 学Simulink——基于Simulink的固态变压器(SST)多级协同控制​
  • 别再手动算了!用Matlab的dec2hex/dec2bin函数搞定进制转换(附硬件寄存器操作实例)
  • 第四章-10-变量作用域
  • 海康威视访客系统API避坑指南:从权限下发失败到动态二维码生成的5个常见问题
  • Web安全深度解析:文件上传漏洞的原理、攻击与防御
  • 并查集
  • YOLOv8改进 | Neck篇 | CVPR最新低照度图像增强模块HVI改进YOLOv8(有效涨点)
  • 13+Spring Native与GraalVM原生编译
  • ARM智能卡接口(SCI)架构与通信协议详解
  • 10款论文降AI工具实测:SpeedAI 100%AI率瞬清零,语义保留99%
  • 小升初英语衔接轻创业,KISSABC 落地全拆解
  • AI代理生产化部署:架构设计与性能优化实战
  • 【nnUNetv2实战】从零到一:构建端到端医学图像分割流水线
  • 微软预热 Discord 与 Xbox Game Pass 合作,新“入门版”含 50 多款游戏及云游戏服务
  • 浏览器里就能用的3D模型查看器:零门槛打开20+格式的3D文件
  • 边缘节点的PHP应用部署、数据同步、算力调度标准化方案=hyperf最
  • 【大数据存储与管理】NoSQL数据库:04 NoSQL数据库的四大类型
  • ngx_epoll_add_event
  • sql注入基础
  • Weka回归分析实战:从数据预处理到模型部署
  • 月入5万的副业,往往从这3个不起眼的“信息差”开始
  • 从黑客视角看安全:一文带你读懂“渗透测试”的方方面面
  • ROS2 Navigation2避障测试:手把手教你用自定义PointCloud2模拟激光雷达数据
  • 2026乐山特色麻辣烫选店指南:8项核心判别技术维度 - 优质品牌商家
  • Go 的 maps.Copy:复制个 Map,居然也能又这么多坑
  • 基于Vercel AI SDK与Slack Bolt构建智能聊天机器人实战指南
  • 015-016 类中方法中的this,解决类中this指向问题
  • 互联网大厂 Java 求职面试:音视频场景中的技术问答