Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—背上我的行囊—字典(1)(十四)

简介: 玩转Python语法(一):面向过程

4.2 字典

字典也是 Python 内置的数据结构之一,字典是包含若干“键:值”元素的无序可变序列,字典中的每一个元素都有两个值,它们之间用:隔开,第一个代表键,你可以理解成列表中的 索引,只不过列表中的索引只能是数字,而字典中的键可以是很多东西,字典中的值和列表中的元素值{'张三':18, '李四':19, '王五':18},在字典中,不同元素之间用,隔开,这一点和列表是一样的,列表中的所有元素均放在[]之中,字典中的所有元素放在{}中,不同于列表中的元素索引是唯二的(一个为正一个为负),字典中的键是唯一的,是不可重复的,而字典的值是可以重复的,比如,我们可以设置一个字典用来表示人物和年龄之间的关系:

{'张三':18, '李四':19, '王五':18}

显然,对于不同的人来说,我们是允许他们的年龄是相同的(字典的值相同),但是我们不允许他们的名字相同(字典的键不同),字典(Python)的实现原理其实和我们日常生活中的查字典是类似的,查字典是利用部首或者拼音找到目标字的页数,在字典(Python)中则是利用我们的键(key),去找到我们的值(value)。以上就是简单的认识一下字典,那么接下来,就让我们细致的去了解字典这个数据结构:

4.2.1 字典的创建,删除与遍历

🚩字典的创建:我们可以直接使用赋值运算符 “=”,直接把一个字典常量(用{}表示字典,字典的元素之间用,隔开)赋值给变量,如果我们想建立一个字典但是不给它赋任何的值,我们直接让变量 “=” 一个空字典({}),即:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = {'张三':18, '李四':19, '王五':18}
b = {}
print(a)
print(b)

image.png

我们还可以使用 dict() 函数创造一个字典,我们用=去对应键和值,=左边为键,=右边为值,代码如下:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
b = dict()
print(a)
print(b)

image.png

🚩当一个字典不再使用的时候,我们使用 del 将其删除

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
del a
print(a)

image.png

🚩字典的遍历默认遍历的是键(key)

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
for item in a:
    print(item)

image.png

如果我们想要遍历字典的值,需要调用 values() 方法:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
for item in a.values():
    print(item)

image.png

如果我们同时访问键和值的话(即访问字典),需要调用 items() 方法:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:12
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
for item in a.items():
    print(item)

image.png

4.2.2 字典元素的查询与访问

🚩字典中的键和值之间其实可以理解成通过映射的关系相连,如果你学过 C,你可以把键当成特殊的数组下标(这个下标可以是很多的数据类型),如果你学过 C++,你可以把字典理解成 map,对于 Python 初学者而言,我们可以把字典和列表对比,我们通过索引访问列表元素,索引必是整数,对于字典而言,我们用键去访问字典的值,每一个键对应一个值,且字典中的键和列表中的索引最大区别就是,键可以是很多的数据类型,但是索引只能是整数,获取字典中的值我们有两种方法,代码如下:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:35
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
print(a['name'])
print(a['height'])

image.png

如果我们访问的键(key)在我们的列表中不存在的话,会显示 KeyError:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:35
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
print(a['location'])

image.png

我们还可以使用 get() 方法用来返回我们指定的键(key)所对应的值(value),和上述不存在会显示 KeyError 不同的是,如果我们要访问的键(key)不存在的话,会显示 None(代表无),我们也可以修改当不存在指定键(key)时,get() 方法返回的值,代码如下:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:35
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
print(a.get('name'))
print(a.get('location'))
print(a.get('location', 'China'))
# China 为执行get(key)方法时,当key不存在时返回的值

image.png

🚩我们还可以通过 in 和 not in 判断一个键(key)是否在字典中存在,如果使用 in,那么存在返回 True,不存在返回 False,如果使用 not in,那么存在返回 False,不存在返回True,代码如下:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/11 23:35
# 欢迎大家关注AIoT相关博客~
a = dict(name='张三', age=18, height=177, weight='70kg')
print('name' in a)
print('name' not in a)

image.png

目录
相关文章
|
14天前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
68 1
|
25天前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
297 0
|
1月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
54 0
|
11月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
249 7
|
7月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
7月前
|
Python
课时19:Python的基本语法
今天给大家带来分享的是 Python 的基本语法,分为以下六个部分。 1.在 Python 中严格区分大小写 2.Python 中的每一行就是一条语句,每条语句以换行结束 3.Python 中每一行语句不要过长 4.条语句可以分多行编写,语句后边以\结尾 5.Python 是缩进严格的语言,不要随便写缩进 6.在 Python 中使用#来表示注释
126 2
|
11月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
435 61
|
9月前
|
存储 开发者 Python
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
293 13
|
9月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
338 2
|
11月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
185 1

推荐镜像

更多