Python中字典的作用是将相关信息关联起来。接下来的几节中我们将要学习如何使用字典,包括访问和修改字典中的信息、遍历字典,还将学习存储列表的字典、存储字典的列表和存储字典的字典。
理解字典以后,你就能为各种真实的物体建模。
1. 一个简单的字典
假如有这样一个游戏,其中包含一些外星人,这些外星人的颜色和点数各不相同。下面是一个简单的字典:
aline.py
aline_0 = {'color': 'green', 'points': 5}
print(aline_0['color'])
print(aline_0['points'])
字典aline_0存储了外星人的颜色和点数。使用两条print语句来访问并打印这些信息。
green
5
熟练使用字典就可以学会如何将一类相关联的数据存入并读取。
2. 使用字典
Python中,字典就是一系列键-值对。每一个键都与一个值相关联,你可以使用键来访问相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。字典将一系列键-值对放在花括号 "{ }" 中,键与值之间用冒号 ":" 隔开,而键-值对之间用逗号 "," 隔开。例如上一个实例中的字典aline_0:
aline_0 = {'color': 'green', 'points': 5}
2.1 访问字典中的值
要获取与键相关的值,可依次指定字典名和放在方括内的键,如下所示:
aline_0 = {'color': 'green'}
print(aline_0['color'])
这将返回字典aline_0中与键 'color' 相关联的值:
green
字典中可以包含任意数量的键-值对:
aline_0 = {'color': 'green', 'points': 5}
现在你可以访问外星人aline_0的颜色和点数,如果假设玩家射杀了这个外星人,就可以用以下代码来确定玩家应获得多少个点数:
aline_0 = {'color': 'green', 'points': 5}
new_points= aline_0['points']
print("You just earned " + str(new_points) + " points!")
上述代码首先创建了一个字典,其中包含了外星人的颜色和分数两个信息,接着通过键 'points' 获得与它相关的值并存储在变量new_points中。接下来将整数转换为字符串,并打印出一条信息。
You just earned 5 points!
2.2 添加键-值对
现在我们更进一步研究如何使用字典。我们试着在字典中添加两个键-值对,分别用来表示外星人的x和y坐标。将外星人放在屏幕的左边缘距离上边缘25像素的位置,也就是x坐标为0,y坐标设置为25。具体的操作如下:
aline_0 = {'color': 'green', 'points': 5}
print(aline_0)
①aline_0['x_position'] = 0
②aline_0['y_position'] = 25
print(aline_0)
我们先创建了一个包含两个键-值对的字典,并打印出其中的键-值对。接着我们在①处向字典中添加了一个键-值对,其中键为 'x_position',值为0,在②处添加了另一个键-值对,键为'y_position',值为25。打印修改以后的字典aline_0,看看修改以后的字典是否包含这两个键-值对。
输出结果为:
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
结果符合我们的预期。如果打印出的键-值对顺序与添加顺序不同,不必担心,不是程序出错,而是Python根本不关心键-值对的顺序,只关心键与值之间的关系。
我们下次再见。