6.1 一个简单的字典
看一个包含外星人的游戏,这些外星人的颜色和分数各不相同。下面是一个简单的词典,存储了有关特定外星人的信息;
alien_0={'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
字典alien_0存储了外星人的颜色和分数。
使用字典一段时间后就会明白为何他们能够高效的模拟现实中的世界情形。
6.2使用字典
在py中,字典是一系列键值对。每个键都与一个值相关联,可以使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。
在py中,字典用于放在花括号({})中的一系列键值对表示,如上文的示例:
键值对是两个相关联的值。指定键是, PY将返回与之相关联的值。键和值之间用:分隔,键值对之间用,分隔。在字典中想存储多少个键值对都可以。最简单的词典只有一个键值对。
6.2.1 访问字典中的值
要获取与键值相关联的值,可依次指定字典名和放在方括号内的键,如下所示:
alien_0={'color':'green'}
print(alien_0['color'])
这将返回字典 alien_0 中与键 color 相关联的值。
green.
现在可以访问外星人的颜色和分数。如果玩家射杀了这个外星人就可以使用下面的代码来确定应获得多少分。
alien_0={'color':'green','points':5}
new_points=alien_0['points']
print(f"You just earned {new_points} points!")
输出:You just earned 5 points!
如果在外星人被射杀时运行这段代码,就将获取该外星人的分数。
6.2.2添加键值对
字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。
下面来在字典 alien_0中添加两项信息:外星人的x 坐标和y坐标,让我们能够在屏幕的特定位置显示该外星人。我们将这个外星人放在屏幕的左边缘,且离屏幕顶部25像素的地方。由于屏幕坐标系的原点通常在左上角,要将该外星人放在屏幕左边缘,可将X坐标设置为0;要将该外星人放在离屏幕顶部25像素的地方,可将Y坐标设置为25,如下所示:
alien_0={'color':'green','points':5}
print(alien_0)
alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0)
首先字典定义前面一个一直在使用的字典,然后打印这个字典,以显示其信息快照。我们在这个字典中新增了一个键值对,其中的键为X,值为零在下面重复这样的操作,但使用的键为Y。打印修改后的字典是,将看到这2个新增的键值对:
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
字典中元素的排列顺序与定义时相同。如果将字典打印出来或遍历其元素,将发现元素的排列顺序与添加顺序相同。
6.2.3先创建一个空字典
在控制点中添加键值对有时候可提供便利,儿有时候必要怎么做。为此,可想使用一对空花括号定义一个字典,在分行添加各个键值对。例如,下面演示了如何以这种方式创建字典alien_0:
alien_0 ={}
alien_0['color'] = 'green'
alien_0['points']= 5
print(alien_0)
这里首先定义了空字典alien_0,再在其中添加颜色和分数,得到前述示例中一直在使用的字典.
{'color': 'green', 'points': 5}
使用字典来存储用户提供的数据或在编写能自动生成大量键对值的代码时,通常需要先定义一个空字典.