一、一个简单的字典:
举个例子:

二、使用字典:
在Python中,字典是一系列键值对。每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。 在Python中,字典用放在花括号({})中的一系列键值对表示,如前面的示例所示:

键值对是两个相关联的值。指定键时,Python将返回与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中,想存储多少个键值对都可以。 最简单的字典只有一个键值对,如下述修改后的字典alien_0所示:

这个字典只存储了一项有关alien_0的信息,具体地说是这个外星人的颜色。在该字典中,字符串'color'是一个键,与之相关联的值为'green'。
访问字典中的值:

上述代码首先定义了一个字典。然后,从这个字典中获取与键'points'相关联的值(见❶),并将这个值赋给变量new_points。 接下来,将这个整数转换为字符串,并打印一条消息,指出玩家获得了多少分(见❷):
添加键值对:
字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。

这个字典的最终版本包含四个键值对:原来的两个指定外星人的颜色和分数,而新增的两个指定其位置。
注意:在Python 3.7中,字典中元素的排列顺序与定义时相同。如果将字典打印出来或遍历其元素,将发现元素的排列顺序与添加顺序相同。
先创建一个空字典:
在空字典中添加键值对有时候可提供便利,而有时候必须这样做。 为此,可先使用一对空花括号定义一个字典,再分行添加各个键值对。

修改字典中的值:
要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值。
这里更正书中的一处错误!
删除键值对:
对于字典中不再需要的信息,可使用del语句将相应的键值对彻底删除。使用del语句时,必须指定字典名和要删除的键。

由类似对象组成的字典:
字典存储的是一个对象(游戏中的一个外星人)的多种信息,但你也可以使用字典来存储众多对象的同一种信息。

注意:对于较长的列表和字典,大多数编辑器提供了以类似方式设置格式的功能。对于较长的字典,还有其他一些可行的格式设置方式,因此在你的编辑器或其他源代码中,你可能会看到稍微不同的格式设置方式。

使用get()来访问值:
使用放在方括号内的键从字典中获取感兴趣的值时,可能会引发问题:如果指定的键不存在就会出错。
方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的:
如果指定的键有可能不存在,应考虑使用方法get(),而不要使用方括号表示法。 注意:调用get()时,如果没有指定第二个参数且指定的键不存在,Python将返回值None。这个特殊值表示没有相应的值。None并非错误,而是一个表示所需值不存在的特殊值,第8章将介绍它的其他用途。
三、遍历字典:
一个Python字典可能只包含几个键值对,也可能包含数百万个键值对。鉴于字典可能包含大量数据,Python支持对字典进行遍历。字典可用于以各种方式存储信息,因此有多种遍历方式:可遍历字典的所有键值对,也可仅遍历键或值。
遍历所有键值对:
探索各种遍历方法前,先来看一个新字典,它用于存储有关网站用户的信息。

四、嵌套:
字典列表:
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。 你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。正如下面的示例将演示的,嵌套是一项强大的功能。
鉴于要修改前三个外星人,我们遍历一个只包含这些外星人的切片。当前,所有外星人都是绿色的,但情况并非总是如此,因此编写一条if语句来确保只修改绿色外星人。 如果外星人是绿色的,就将其颜色改为'yellow',将其速度改为'medium',并将其分数改为10,如下面的输出所示:
在字典中存储列表:
每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。 在本章前面有关喜欢的编程语言的示例中,如果将每个人的回答都存储在一个列表中,被调查者就可选择多种喜欢的语言。在这种情况下,当我们遍历字典时,与每个被调查者相关联的都是一个语言列表,而不是一种语言; 因此,在遍历该字典的for循环中,我们需要再使用一个for循环来遍历与被调查者相关联的语言列表:

注意:列表和字典的嵌套层级不应太多。如果嵌套层级比前面的示例多得多,很可能有更简单的解决方案。
在字典中存储字典:

首先定义一个名为users的字典,其中包含两个键:用户名'aeinstein'和'mcurie'。
与每个键相关联的值都是一个字典,其中包含用户的名、姓和居住地。
在❶处,遍历字典users,让Python依次将每个键赋给变量username,并依次将与当前键相关联的字典赋给变量user_info。
在循环内部的❷处,将用户名打印出来。
在❸处,开始访问内部的字典。
变量user_info包含用户信息字典,而该字典包含三个键:'first'、'last'和'location'。对于每位用户,都使用这些键来生成整洁的姓名和居住地,然后打印有关用户的简要信息(见❹):复制
文章转载自在下小黄,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
python排序sort()和sorted()区别
wzf0072
54次阅读
2025-04-09 19:57:46
AI与我共创WEB界面
布衣
45次阅读
2025-04-14 22:13:51
解决pyqt5 textbrowser控件超链接锚点问题
zayki
28次阅读
2025-04-27 16:58:59
python 实现消费者优先级队列
天翼云开发者社区
22次阅读
2025-04-25 11:08:21
优雅遍历和删除特定开头的key
陌殇流苏
20次阅读
2025-04-25 12:17:03
rust重写一切的风吹到了python
DBA札记
20次阅读
2025-04-03 09:56:08
《深入剖析Python的生成器表达式与列表推导式:探寻代码背后的哲学与艺术》
程序员阿伟
17次阅读
2025-04-27 16:22:14
python自动更新dns A记录
godba
10次阅读
2025-04-23 11:19:04
Python运维神器:这些模块让你事半功倍
韩公子的Linux大集市
10次阅读
2025-04-09 11:13:18
python中不同数据类型转换-布尔型
周同学带您玩AI
7次阅读
2025-04-22 10:12:05