2.3.1 创建并访问字典

在Python程序中,字典可以存储任意类型对象。字典的每个键值“key:value”对之间必须用冒号“:”分隔,每个键值对之间用逗号“,”分隔,整个字典包括在大括号“{}”中。

例如某个班级的期末考试成绩公布了,其中第1名非常优秀,学校准备给予奖励。下面以字典保存这名学生的3科成绩,第一个键值对是'数学': '99',表示这名学生的数学成绩是“99”;第二个键值对是'语文': '99',第三个键值对是'英语': '99',分别表示这名学生的语文成绩是99、英语成绩是99。在Python语言中,使用字典来表示这名学生的成绩,具体代码如下。

dict = {'数学': '99', '语文': '99', '英语': '99' }

当然也可以对上述字典中的两个键值对进行分解,通过如下代码创建字典。

dict1 = { '数学': '99' };
dict2 = {'语文': '99' };
dict1 = { '英语': '99' };

在Python程序中,要想获取某个键的值,可以通过访问键的方式来显示对应的值。下面的实例文件fang.py演示了获取字典中3个键的值的过程。

源码路径:daima\第2章\2-3\fang.py

dict = {'数学': '99', '语文': '99', '英语': '99' }    #创建字典dict
print ("语文成绩是:",dict['语文'])                   #输出语文成绩
print ("数学成绩是:",dict['数学'])                   #输出数学成绩
print ("英语成绩是:",dict['英语'])                   #输出英文成绩

执行结果如图2-19所示。

图2-19 执行结果

如果调用的字典中没有这个键,执行后会输出错误提示。例如在下面的代码中,字典“dict”中并没有键“Alice”。

dict = {'Name': 'Toppr', 'Age': 7, 'Class': 'First'};   #创建字典dict
print ("dict['Alice']: ", dict['Alice'])                #输出字典dict中键为“Alice”的值

所以执行后会输出如下错误提示。

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print ("dict['Alice']: ", dict['Alice'])
KeyError: 'Alice'