让从一个场景开始。假设有一个学生Sam的成绩列表。在查看这个列表时,能告诉Sam在历史或地理上得了多少分吗?不,不能,除非有数据,其中存储了哪个科目的成绩存储在哪个索引位置。如果有这些数据,可以很容易地回答。因为历史存储在索引1,可以说Sam在历史上得了36分。但这种方法有几个问题。很多时候这些数据不可用或难以创建。有时不希望数据有一个序列。比如在前面的例子中,历史成绩存储在地理成绩之后或之前并不重要。此外,有时希望按名称访问数据,就像上面的例子一样。例如,使用“历史”这个词而不是索引来查找历史成绩。所有这些问题都可以使用Python中称为字典的数据结构来解决。这就是字典将如何解决问题。
与索引不同,成绩是使用名称或键存储在字典中的。在这里,科目名称地理、历史、数学是键,而成绩45、36、54等是这些键对应的值。字典是什么?字典是一个无序的数据结构,元素由逗号分隔并以键值对的形式存储。它被包含在花括号内。此外,键值对由冒号(:)分隔。这里有一个例子。在这里,键是人的名字,值是一个数字。也可以将任何其他数据结构作为值。看下面的示例,这里有每个键的数字列表作为值。
# 创建一个字典
student_scores = {
'Geography': 45,
'History': 36,
'Mathematics': 54
}
# 访问字典中的元素
print(student_scores['History']) # 输出: 36
# 向字典添加元素
student_scores['Science'] = 67
# 使用update函数添加多个元素
student_scores.update({'Art': 78, 'Music': 81})
# 删除字典中的元素
del student_scores['Geography']
# 打印更新后的字典
print(student_scores)