上手python之字典

简介: 上手python之字典

为什么使用字典

通过【字】  就能找到对应的【含义】

所以,我们可以认为,生活中的字典就是记录的一堆: 【字】:【含义】 【字】:【含义】 ......

Python中字典和生活中字典十分相像:

Key: Value

Key: Value

可以按【Key】找出对应的【Value】

老师有一份名单,记录了学生的姓名和考试总成绩。


d7861350989c4caba60ba29cdc2f7295.png


现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。

使用字典最为合适:


2bf72c238703498bbf2fd668ae0c0765.png


可以通过Key(学生姓名),取到对应的Value(考试成绩)

所以,为什么使用字典?     因为可以使用字典,实现用key取出Value的操作

字典的定义

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:


065630dcb12a43feb6f50bbddabd8374.png

使用{}存储原始,每一个元素是一个键值对

每一个键值对包含Key和Value(用冒号分隔)

键值对之间使用逗号分隔 Key和Value可以是任意类型的数据(key不可为字典)

Key不可重复,重复会对原有数据覆盖

前文中记录学生成绩的需求,可以如下记录:


9a5ec4643b0c40e7b614ae7b6bcb3cce.png

字典数据的获取

字典同集合一样,不可以使用下标索引

但是字典可以通过Key值来取得对应的Value

bb3c2b8550564b1fb9ca58b9b267f902.png

字典的嵌套

字典的Key和Value可以是任意数据类型(Key不可为字典)

那么,就表明,字典是可以嵌套的

需求如下:记录学生各科的考试信息

82f61ba3a809403aaa1afd69c3233bef.png

9bf190ad779f4235a7e8b83b03ebe970.png


61a3d94164dd4d69be9ce324b25a5243.png

嵌套字典的内容获取,如下所示:


d80196d6c2d64294b9ffbc71e1f1f8ed.png

字典的注意事项

键值对的Key和Value可以是任意类型(Key不可为字典)

字典内Key不允许重复,重复添加等同于覆盖原有数据

字典不可用下标索引,而是通过Key检索Value


字典的常用操作

新增元素    

语法:字典[Key] = Value,结果:字典被修改,新增了元素


64208f64d67645ababae17aebfee08eb.png

更新元素  

语法:字典[Key] = Value,结果:字典被修改,元素被更新    

注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值

88bbb01e08e34f2a910bf47a3350055b.png

删除元素  

语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除


de0025c40b0c4aa4b191c857bae49c91.png

清空字典  

语法:字典.clear(),结果:字典被修改,元素被清空

655a5751beb440b7a221a17d3a32a37a.png

获取全部的key    

语法:字典.keys(),结果:得到字典中的全部Key

a2b8d042b9f243f9b3e346f8ff8528e5.png


遍历字典    

语法:for key in 字典.keys()


2940d98bf5d047b9b93a2fd0d354b0b4.png

注意:字典不支持下标索引,所以同样不可以用while循环遍历

计算字典内的全部元素(键值对)数量    

语法:len(字典)     结果:得到一个整数,表示字典内元素(键值对)的数量

image.png


经过上述对字典的学习,可以总结出字典有如下特点:


可以容纳多个数据


可以容纳不同类型的数据


每一份数据是KeyValue键值对


可以通过Key获取到Value,Key不可重复(重复会覆盖)


不支持下标索引


可以修改(增加或删除更新元素等)


支持for循环,不支持while循环  


image.png


相关文章
|
7天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
21 2
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
20 1
|
4月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
71 13
|
3月前
|
存储 Java Serverless
【Python】字典
【Python】字典
40 1
|
4月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
48 2
|
4月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
186 4
|
4月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
26 1
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
51 0
|
3月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
39 0
|
3月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
40 0
下一篇
开通oss服务