Python 二维字典
介绍
字典是Python中非常常用的数据结构之一,它是一个无序的键值对集合,可以通过键来快速访问对应的值。有时候,我们需要使用一个二维字典来存储更加复杂的数据结构。本文将详细介绍如何创建、访问和修改二维字典。
创建二维字典
在Python中,我们可以使用嵌套字典的方式来创建二维字典。嵌套字典就是在一个字典中再添加一个字典作为值。下面是一个简单的示例:
students = {
'Alice': {'math': 90, 'english': 85, 'science': 95},
'Bob': {'math': 80, 'english': 75, 'science': 85},
'Charlie': {'math': 95, 'english': 90, 'science': 92}
}
在上面的示例中,我们创建了一个名为students
的字典,其中包含三个学生的信息。每个学生是一个嵌套字典,包含三门课程的成绩。
访问二维字典
访问二维字典的方法很简单。我们可以使用两个键来获取对应的值。下面是一些示例:
math_score = students['Alice']['math']
print(math_score) # 输出:90
english_score = students['Bob']['english']
print(english_score) # 输出:75
science_score = students['Charlie']['science']
print(science_score) # 输出:92
在上面的示例中,我们分别使用了两个键来获取对应的值。首先使用学生姓名作为第一个键,然后使用课程名称作为第二个键。
修改二维字典
要修改二维字典中的值,我们只需要重新给相应的键赋新的值即可。下面是一个示例:
students['Alice']['math'] = 95
print(students['Alice']['math']) # 输出:95
students['Bob']['english'] = 80
print(students['Bob']['english']) # 输出:80
在上面的示例中,我们分别将Alice的数学成绩修改为95,Bob的英语成绩修改为80。然后打印相应的值,验证修改是否成功。
迭代二维字典
如果我们想要遍历整个二维字典,可以使用for
循环来实现。下面是一个示例:
for student, grades in students.items():
print(student)
for subject, score in grades.items():
print(subject, score)
在上面的示例中,students.items()
返回字典students
中的所有键值对。我们使用for
循环迭代每个键值对。对于每个学生的成绩,我们再使用grades.items()
来获取具体的科目和分数。
判断键是否存在
在访问二维字典的过程中,有时候我们可能会碰到找不到键的情况。为了避免报错,我们可以使用in
关键字来判断键是否存在。下面是一个示例:
if 'Alice' in students:
print(students['Alice']['math']) # 输出:95
if 'David' in students:
print(students['David']['english'])
else:
print('David not found.') # 输出:David not found.
在上面的示例中,我们首先判断'Alice'
是否存在于students
字典中,如果存在,则输出数学成绩。然后我们判断'David'
是否存在于students
字典中,如果不存在,则输出'David not found.'
。
总结
通过本文的介绍,我们了解了如何创建、访问、修改和迭代二维字典。二维字典在存储和操作复杂数据结构时非常有用。