字典是 Python 编程语言实现数据结构的方式。一个 Python 字典由几个键值对组成;每对将键映射到其关联的值。

例如,假设您是一位希望将学生的姓名与他们的成绩相匹配的老师。您可以使用 Python 字典将键(名称)映射到它们的关联值(等级)。

如果您需要在考试中查找特定学生的成绩,可以从字典中访问它。此查找快捷方式应该可以节省您解析整个列表以查找学生成绩的时间。

本文向您展示如何通过每个值的键访问字典值。在开始本教程之前,请确保您的机器上安装了Anaconda 包管理器和Jupyter Notebook。

1.在 Jupyter 中打开一个新笔记本

首先打开 Jupyter 并在 Web 浏览器的选项卡中运行它。然后:

  1. 转到左上角的文件

  2. 选择 New Notebook,然后选择 Python 3

创建 Jupyter 笔记本

图片来源:

(劳伦 Maffeo,CC BY-SA 4.0)

更多 Python 资源

  • 什么是IDE?

  • 备忘单:适用于初学者的 Python 3.7

  • 顶级 Python GUI 框架

  • 下载:7 个必不可少的 PyPI 库

  • 红帽开发者

  • 最新 Python 内容

您的新笔记本一开始没有标题,但您可以随意重命名。我将我的命名为 OpenSource.com 数据字典教程

您在新的 Jupyter 笔记本中看到的行号是您编写代码的地方。 (也就是说,您的输入。)

在 macOS 上,您将点击 Shift 然后 Return 以接收您的输出。确保在创建新行号之前执行此操作;否则,您编写的任何其他代码都可能无法运行。

2.创建键值对

在字典中写下您希望访问的键和值。首先,您需要在字典的上下文中定义它们:

空_字典\u003d {}

成绩 \u003d {

“凯尔西”:87,

芬莱:92

}

一个_line \u003d {a:1,b:2}

字典中定义键值对的代码

图片来源:

(劳伦马菲奥,CC BY-SA 4.0)

这允许字典将特定键与它们各自的值相关联。字典按名称存储数据,这样可以更快地查找。

3.通过键访问字典值

假设您要查找特定的字典值;在这种情况下,特定学生的成绩。首先,点击 Insert 然后 Insert Cell below

在 Jupyter 中插入一个新单元

图片来源:

(劳伦马菲奥,CC BY-SA 4.0)

在新单元格中,定义字典中的键和值。

然后,通过告诉您的字典打印该值的键来找到您需要的值。例如,查找特定学生的姓名——Kelsey:

# 访问字典中的数据

成绩 \u003d {

“凯尔西”:87,

芬莱:92

}

打印(成绩[“凯尔西”])

87

查找特定值的代码

图片来源:

(劳伦马菲奥,CC BY-SA 4.0)

一旦您询问了 Kelsey 的成绩(即您要查找的值),请点击 Shift(如果您使用的是 macOS),然后点击 Return

您会在单元格下方看到所需的值(Kelsey 的成绩)作为输出。

4.更新现有密钥

如果您意识到您在字典中添加了错误的学生成绩怎么办?您可以通过更新字典以存储附加值来修复它。

首先,选择要更新的密钥。在这种情况下,假设您错误地输入了 Finley 的成绩。这是您将在此示例中更新的键。

要更新 Finley 的成绩,请在下方插入一个新单元格,然后创建一个新的键值对。告诉您的单元格打印字典,然后按 ShiftReturn:

成绩[“芬利”] \u003d 90

打印(等级)

{'凯尔西':87; “芬利”:90}

更新密钥的代码

图片来源:

(劳伦马菲奥,CC BY-SA 4.0)

带有 Finley 新成绩的更新字典将显示为您的输出。

5.添加新密钥

假设你得到一个新学生的考试成绩。您可以通过添加新的键值对将该学生的姓名和成绩添加到您的字典中。

在下方插入一个新单元格,然后将新学生的姓名和成绩添加为键值对。完成后,告诉您的单元格打印字典,然后按 ShiftReturn:

成绩[“亚历克斯”] \u003d 88

打印(等级)

{“凯尔西”:87,“芬利”:90,“亚历克斯”:88}

添加新密钥

图片来源:

(劳伦马菲奥,CC BY-SA 4.0)

所有键值对都应显示为输出。

使用字典

请记住,键和值可以是任何数据类型,但它们很少是非原始类型。此外,字典不会以任何特定顺序存储或构造其内容。如果您需要有序的项目序列,最好在 Python 中创建一个列表,而不是字典。

如果您正在考虑使用字典,请首先确认您的数据结构是否正确,例如电话簿。如果不是,那么使用列表、元组、树或其他数据结构可能是最好的选择。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐