Python 字典
Posted 在下小黄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 字典相关的知识,希望对你有一定的参考价值。
一、一个简单的字典:
举个例子:
二、使用字典:
- 在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'。对于每位用户,都使用这些键来生成整洁的姓名和居住地,然后打印有关用户的简要信息(见❹):
始访问内部的字典。
变量user_info包含用户信息字典,而该字典包含三个键:'first'、'last'和'location'。对于每位用户,都使用这些键来生成整洁的姓名和居住地,然后打印有关用户的简要信息(见❹):
各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。
每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!
以上是关于Python 字典的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:将字典与非系列混合可能会导致排序不明确