字典是 Python 编程语言实现数据结构的方式。Python 字典由多个键值对组成;每个键值对将键映射到其关联的值。
例如,假设您是一位老师,想要将学生的名字与其成绩进行匹配。您可以使用 Python 字典将键(姓名)映射到其关联的值(成绩)。
如果您需要查找特定学生的考试成绩,您可以从字典中访问它。与解析整个列表以查找学生的成绩相比,此查找快捷方式应该可以节省您的时间。
本文向您展示如何通过每个值的键来访问字典值。在开始本教程之前,请确保您的机器上安装了 Anaconda 包管理器 和 Jupyter Notebook。
1. 在 Jupyter 中打开一个新的笔记本
首先打开 Jupyter 并在 Web 浏览器中的选项卡中运行它。然后
- 转到左上角的文件。
- 选择新建 Notebook,然后选择 Python 3。

(Lauren Maffeo,CC BY-SA 4.0)
您的新笔记本开始时是未命名的,但您可以将其重命名为您喜欢的任何名称。我将我的命名为 OpenSource.com 数据字典教程。
您在新的 Jupyter 笔记本中看到的行号是您编写代码的地方。(即,您的输入。)
在 macOS 上,您将按 Shift 键,然后按 Return 键以接收您的输出。请务必在创建新的行号之前执行此操作;否则,您编写的任何其他代码都可能无法运行。
2. 创建键值对
写入您希望在字典中访问的键和值。首先,您需要定义它们在字典上下文中的含义
empty_dictionary = {}
grades = {
"Kelsey": 87,
"Finley": 92
}
one_line = {a: 1, b: 2}

(Lauren Maffeo,CC BY-SA 4.0)
这允许字典将特定的键与其各自的值关联起来。字典按名称存储数据,从而实现更快的查找。
3. 通过键访问字典值
假设您想查找特定的字典值;在本例中,是特定学生的成绩。首先,点击插入,然后点击在下方插入单元格。

(Lauren Maffeo,CC BY-SA 4.0)
在新的单元格中,定义字典中的键和值。
然后,通过告诉字典打印该值的键来查找您需要的值。例如,查找特定学生的姓名——Kelsey
# Access data in a dictionary
grades = {
"Kelsey": 87,
"Finley": 92
}
print(grades["Kelsey"])
87

(Lauren Maffeo,CC BY-SA 4.0)
一旦您请求了 Kelsey 的成绩(即,您尝试查找的值),请按 Shift(如果您使用的是 macOS),然后按 Return。
您会在单元格下方的输出中看到您期望的值——Kelsey 的成绩。
4. 更新现有键
如果您意识到您为学生字典添加了错误的成绩怎么办?您可以通过更新字典以存储额外的值来修复它。
首先,选择您要更新的键。在本例中,假设您错误地输入了 Finley 的成绩。那是您将在本示例中更新的键。
要更新 Finley 的成绩,请在下方插入一个新单元格,然后创建一个新的键值对。告诉您的单元格打印字典,然后按 Shift 和 Return
grades["Finley"] = 90
print(grades)
{'Kelsey': 87; "Finley": 90}

(Lauren Maffeo,CC BY-SA 4.0)
更新后的字典,包含 Finley 的新成绩,将显示为您的输出。
5. 添加新键
假设您获得了新学生的考试成绩。您可以通过添加新的键值对,将该学生的姓名和成绩添加到您的字典中。
在下方插入一个新单元格,然后将新学生的姓名和成绩添加为键值对。完成后,告诉您的单元格打印字典,然后按 Shift 和 Return
grades["Alex"] = 88
print(grades)
{'Kelsey': 87, 'Finley': 90, 'Alex': 88}

(Lauren Maffeo,CC BY-SA 4.0)
所有键值对都应显示为输出。
使用字典
请记住,键和值可以是任何数据类型,但它们很少是非原始类型。此外,字典不会以任何特定顺序存储或结构化其内容。如果您需要项目的有序序列,最好在 Python 中创建一个列表,而不是字典。
如果您正在考虑使用字典,请首先确认您的数据结构是否正确,即像电话簿一样。如果不是,那么使用列表、元组、树或其他数据结构可能是最佳选择。
1 条评论