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

python学习——字典元素的访问和遍历

在Python中,访问和遍历字典元素的方法如下:

文章目录

      • 访问字典元素
        • 1. 使用键来访问值
        • 2. 使用 `get()` 方法
      • 遍历字典元素
        • 1. 遍历字典的键
        • 2. 遍历字典的值
        • 3. 遍历字典的键和值
        • 4. 使用列表推导式来创建新的列表
      • 实操

访问字典元素

1. 使用键来访问值
# 创建一个字典
my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
# 使用键来访问值
value = my_dict['key1']  # 返回 'value1'

如果尝试访问一个不存在的键,会引发 KeyError。为了避免这种情况,可以使用以下方法:

2. 使用 get() 方法
# 安全地访问字典中的值,如果键不存在则返回默认值(这里是 None)
value = my_dict.get('key1')  # 返回 'value1'
value = my_dict.get('key4')  # 返回 None,因为 'key4' 不存在
# 也可以指定一个默认返回值
default_value = my_dict.get('key4', 'default')  # 返回 'default'

遍历字典元素

1. 遍历字典的键
# 遍历字典中的所有键
for key in my_dict:print(key)  # 输出 'key1', 'key2', 'key3'
2. 遍历字典的值
# 遍历字典中的所有值
for value in my_dict.values():print(value)  # 输出 'value1', 'value2', 'value3'
3. 遍历字典的键和值
# 遍历字典中的所有键和值
for key, value in my_dict.items():print(f"{key}: {value}")  # 输出 'key1: value1', 'key2: value2', 'key3: value3'
4. 使用列表推导式来创建新的列表
# 创建一个包含所有键的列表
keys_list = [key for key in my_dict]
# 创建一个包含所有值的列表
values_list = [value for value in my_dict.values()]
# 创建一个包含所有键值对的列表
items_list = [(key, value) for key, value in my_dict.items()]

以上就是在Python中访问和遍历字典元素的一些常用方法。在实际编程中,根据需要选择合适的方法来操作字典。

实操

d = {'hello':10, 'world':20, 'python':30}
# 访问字典中的元素
# 1.使用d[key]
print(d['hello'])
# 2.使用d.get(key)
print(d.get('hello'))
# 二者有区别,前者不存在——》报错,后者返回默认值
print(d.get('java'))
print(d.get('java', '不存在'))# 字典的遍历
for item in d.items():print(item)     # key=value组成给你的一个元素(元组形式)for key,value in d.items():print(key, '--->', value)
http://www.lryc.cn/news/494145.html

相关文章:

  • 数据结构基础之《(9)—归并排序》
  • 【深度学习】各种卷积—卷积、反卷积、空洞卷积、可分离卷积、分组卷积
  • 远程视频验证如何改变商业安全
  • 电脑启动需要经历哪些过程?
  • 纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
  • postman使用正则表达式提取数据实战篇!
  • ipmitool使用详解(三)-解决各种dell、hp服务器无法ipmitool连接问题
  • AWS EC2设置用户名密码登录
  • BurpSuite安装教程(详细!!附带下载链接)
  • MIPS寄存器文件设计实验
  • uniapp使用扩展组件uni-data-select出现的问题汇总
  • 反向代理模块开发
  • 海康面阵、线阵、读码器及3D相机接线说明
  • AI与ArcGIS Pro的地理空间分析和可视化
  • 详解HTML5语言
  • docker compose一键启动ES集群和kibana
  • 遗传算法与深度学习实战(25)——使用Keras构建卷积神经网络
  • pytest+allure生成报告显示loading和404
  • 为何划分 Vue 项目结构组件?划分结构和组件解决了什么问题?为什么要这么做?
  • springboot中使用mongodb完成评论功能
  • Dubbo的RPC泛化调用
  • 【k8s深入理解之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
  • 接口性能优化宝典:解决性能瓶颈的策略与实践
  • 雨晨 Windows Server 2025 数据中心 极简 26311.5000
  • 关于IDE的相关知识之三【插件安装、配置及推荐的意义】
  • JSP+Servlet实现列表分页功能
  • 操作系统存储器相关习题
  • QUICK 调试camera-xml解析
  • 【linux】shell脚本编写基础
  • STM32 外设简介