python学习笔记 —— 字典

课程笔记:
下面是一个简单的字典,存储了有关特定外星人的信息:
在这里插入图片描述
字典alien_0存储了外星人的颜色和点数。使用两个print语句来访问并打印这些信息,如下所示:
在这里插入图片描述
新增一条代码,将所访问的值赋给变量 new_points,再将整数转变成字符串,并打印一条消息,指出玩家获得的点数:
在这里插入图片描述
在这里插入图片描述
在字典中添加 键—值 对:
将外星人的 x 坐标和 y 坐标添加到字典中,有了坐标才能显示外星人在屏幕上的具体位置,屏幕坐标系的原点通常为左上角,将x坐标设为0,将y坐标设为25,如下所示:
在这里插入图片描述
在这里插入图片描述
有时候,在空字典中添加键-值对是为了方便,而有时候必须这样做,就比如:使用字典来存储用户数据或者编写能自动生成大量键-值代码时,通常都需要一个创建一个空字典,接下来创建一个简单的空字典,并向里面添加数据:
在这里插入图片描述
在这里插入图片描述
修改字典中的值:
在这里插入图片描述
在这里插入图片描述
示例:对一个不同速度的外星人的位置进行追踪,为此要存储外星人的当前速度,并根据该外星人将向右移动多远:
python学习笔记 —— 字典_第1张图片
在这里插入图片描述
使用 del 彻底的删除键-值对,使用del语句时,必须指定字典名和要删除的键:
在这里插入图片描述
在这里插入图片描述
下面使用字典存储类似对象的键-对值:
python学习笔记 —— 字典_第2张图片
在使用空格键换行输入新的键-对值,需要使用tab键缩进四个空格,且每个键-对值后需要加上逗号。
在这里插入图片描述
在这个示例中,还说明了在print语句过长的情况下,如何换行,在选择合适拆分的地方要打印的内容,并在行的末尾加一个拼接运算符(+),按回车进入print的后续行,并使用tab键将它们对其并缩进一级。

课后小练习:
6-1 人: 使用一个字典来存储一个熟人的信息,包括名,姓,年龄和居住的城市。该字典包含键 first_name , last_name , age 和 city。将存储在该字典中的每项信息都打印出来。
在这里插入图片描述
在这里插入图片描述
6-2 喜欢的数字: 使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
python学习笔记 —— 字典_第3张图片
在这里插入图片描述
6-3 词汇表: Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。

  • 想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
  • 以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,并在它后面加上一个冒号,在打印词汇的含义;也可在一行打印词汇,再使用换行符(\n)插入一个空行,然后在下一行以缩进的方式打印词汇的含义。
    python学习笔记 —— 字典_第4张图片
    在这里插入图片描述
    课程笔记:
    遍历所有键-值对:
    使用 for 循环和 items 方法,它可以返回一个键-值对列表,for 循环依次将字典中的键-值对存储到指定的两个变量中:
    python学习笔记 —— 字典_第5张图片
    python学习笔记 —— 字典_第6张图片
    使用 for 循环来简化前面学习的一段代码,理解变量名不一定要是 key 和 value,可以是更便于理解的其他变量,比如在下面的代码里,变量名设置为 name 和 language 能够使代码更加容易阅读:
    python学习笔记 —— 字典_第7张图片
    在这里插入图片描述
    使用方法 keys() 只遍历字典中所有的键值:
    在这里插入图片描述
    两段代码的输出情况相同,第二段代码更加简单,但是在理解上会更加复杂,没有第一段清晰,所以要根据实际情况来选择所写的代码。
    python学习笔记 —— 字典_第8张图片
    通过键来访问键对应的值:
    python学习笔记 —— 字典_第9张图片
    python学习笔记 —— 字典_第10张图片
    还可以使用 keys() 确定某个人是否接受了调查:
    在这里插入图片描述
    在这里插入图片描述
    使用 sorted() 方法来获得顺序排列的键列表的副本:
    在这里插入图片描述
    python学习笔记 —— 字典_第11张图片
    使用 values() 方法只遍历字典中的所有值:
    在这里插入图片描述
    在这里插入图片描述
    为了剔除重复项,可以采用 set() 方法:
    在这里插入图片描述
    在这里插入图片描述
    课后小练习:
    6-4 词汇表 2: 既然你知道了如何遍历字典,现在请整理你为完成练习 6-3 而编写的代码,将其中一系列 print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,再在词汇表中添加 5 个Python术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。
    python学习笔记 —— 字典_第12张图片
    python学习笔记 —— 字典_第13张图片
    6-5 河流: 创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键-值对可能是 ‘nile’ : ‘egypt’。
  • 使用循环为每条河流打印一条消息,如:“ The Nile runs through Egypt.”。
  • 使用循环将该字典中每条河流的名字都打印出来。
  • 使用循环将该字典包含的每个国家的名字都打印出来。
    python学习笔记 —— 字典_第14张图片
    python学习笔记 —— 字典_第15张图片
    6-6 调查 : 在前面编写的 favorite_languages 中执行以下操作。
  • 创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人为包含在字典中。
  • 遍历这个名单,对于已参加调查的人,打印一条消息表示感谢,对于还未参加调查的人,打印一条消息邀请他参加调查。
    python学习笔记 —— 字典_第16张图片
    python学习笔记 —— 字典_第17张图片
    课程笔记:
    嵌套:需要将一系列字典存储在列表中,或将列表作为值存储在字典中。
    若要管理成群的外星人,一种办法是创建一个外星人的列表,其中每个外星人都是一个字典,包含外星人的各种信息,例如:
    在这里插入图片描述
    在这里插入图片描述
    下面的示例更加符合实际情况,自动创建30个外星人:
    python学习笔记 —— 字典_第18张图片
    python学习笔记 —— 字典_第19张图片
    修改外星人的种类:
    python学习笔记 —— 字典_第20张图片
    python学习笔记 —— 字典_第21张图片
    在字典中存储列表:当键-值对中的值,需要存储多个值的时候,需要采用列表来实现:
    python学习笔记 —— 字典_第22张图片
    在这里插入图片描述
    python学习笔记 —— 字典_第23张图片
    python学习笔记 —— 字典_第24张图片
    列表和字典的嵌套层级不应太多。如果嵌套层级比前面的示例多得多,那很有可能就会有简单的解决问题的方案。

在字典中存储字典:
python学习笔记 —— 字典_第25张图片
python学习笔记 —— 字典_第26张图片
课后小练习:
6-7 人: 在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。
python学习笔记 —— 字典_第27张图片
在这里插入图片描述
6-8 宠物: 创建多个字典,对于每个字典,都使用一个宠物的名称来给他命名;在每个字典中,包含宠物的类型及主人的名字。将这些字典存储在一个名为 pets 的列表中,再遍历这个列表,并将宠物的所有信息都打印出来。
python学习笔记 —— 字典_第28张图片
在这里插入图片描述
6-9 喜欢的地方: 创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于每个人,都存储她喜欢的 1~3 个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方都打印出来。
python学习笔记 —— 字典_第29张图片
python学习笔记 —— 字典_第30张图片
6-10 喜欢的数字: 修改为完成 6-2 编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。
python学习笔记 —— 字典_第31张图片
python学习笔记 —— 字典_第32张图片
6-11 城市: 创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市都创建一个字典,并在其中包含该城市所属的国家,人口以及一个有关该城市的事实。在表示每座城市的字典中,应包含 country 、population 和 fact 等键。将每个城市的名字以及有关它们的信息都打印出来。
python学习笔记 —— 字典_第33张图片
python学习笔记 —— 字典_第34张图片

你可能感兴趣的:(学习笔记)