Python 字典

2025 年 4 月 28 日 | 阅读 9 分钟

Python 字典是用于以“键:值”对形式存储数据的内置数据类型之一。字典是无序可变可索引的集合,其中每个键都是唯一的,并映射到一个值。它通常用于存储相关数据,例如与特定实体或对象相关的信息,我们可以根据其键轻松获取值。

Python Dictionaries

让我们看一个简单的字典示例。

示例

立即执行

输出

{1: 'Learn', 2: 'Python', 3: 'from', 4: 'Tpoint', 5: 'Tech'}

说明

在上面的示例中,我们创建了一个包含多个“键:值”对的简单字典。

我们可以看到,Python 中的字典是一种映射数据类型,其中一个对象的值映射到另一个对象。为了建立键和值之间的映射,我们在两者之间使用了冒号“:”符号。

Python 字典的特点

Python 中的字典是一种具有以下特点的数据类型:

  • 可变:字典在初始化后可以进行修改,允许我们添加、删除或更新“键:值”对。
  • 无序:Python 字典不遵循特定的顺序来存储项目。但是,从 Python 3.7 开始,添加了字典来维护项目插入顺序的功能。
  • 可索引:列表元组(按位置索引)不同,字典使用键来访问值,从而提供更快、更具可读性的数据检索。
  • 唯一键:字典中的每个键都必须是唯一的。如果我们尝试为现有键分配一个值,则旧值将被新值替换。
  • 异构:字典中的键和值可以是任何类型。

创建字典

在 Python 中,我们可以通过用逗号分隔的“键:值”对序列括起来的花括号来创建字典。作为替代选项,我们可以使用 Python 内置的dict() 函数

下面是一个展示在 Python 中创建字典的两种方法的简单示例。

示例

立即执行

输出

Empty Dictionary: {}
Dictionary 1 (created using {}): {'name': 'Lucy', 'age': 19, 'city': 'New Jersey'}
Dictionary 2 (created using dict()): {'name': 'John', 'age': 21, 'city': 'Havana'}

说明

上面的示例展示了在 Python 中创建字典的不同方法。我们还看到了如何创建空字典。

注意:dict() 函数还可以用于将现有数据类型转换为字典。

访问字典项

在 Python 中,我们可以通过将特定键括在方括号“[ ]”中来访问字典项的值。访问字典项的另一种方法是使用get() 方法。

以下是一个展示在 Python 中访问字典项的简单示例。

示例

立即执行

输出

Person's Details
Name: Sachin
Age: 18
Gender: male
Profession: student

说明

在这里,我们使用方括号和 get() 方法访问了字典项的不同值。

向字典添加项

字典是一种可变数据类型,允许我们向其中添加项。这可以通过为新键分配值来完成。

让我们看一个展示如何向 Python 字典添加项的简单示例。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 18, 'gender': 'male', 'profession': 'student'}
Updated Dictionary: {'name': 'Sachin', 'age': 18, 'gender': 'male', 'profession': 'student', 'country': 'India'}

说明

在此示例中,我们使用赋值运算符向字典添加了一个新的“键:值”对。

从字典中删除项

Python 提供了多种方法来从给定字典中删除项,例如:

  • del:此关键字用于按键删除项。
  • pop():此方法用于按键删除项。它还返回被删除项的值。
  • popitem():此方法删除返回最后一个“键:值”对。
  • clear():此方法用于删除字典中的所有项。

下面是一个展示使用不同方法从 Python 字典中删除项的示例。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 18, 'gender': 'male', 'profession': 'student', 'country': 'India'}
Updated Dictionary (Removed 'age'): {'name': 'Sachin', 'gender': 'male', 'profession': 'student', 'country': 'India'}
Updated Dictionary (Removed 'gender'): {'name': 'Sachin', 'profession': 'student', 'country': 'India'}
Popped Value: male
Updated Dictionary (Removed last item): {'name': 'Sachin', 'profession': 'student'}
Popped Item: ('country', 'India')
Update Dictionary (Removed all items): {}

说明

在此示例中,我们给出了一个字典。我们使用了 del 关键字、pop()、popitem() 和 clear() 方法等几种方法来从字典中删除项。

更改字典项

在 Python 中,我们可以通过引用其键来更改字典中项的值

让我们看一个简单的例子来理解如何在 Python 中更改字典项。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 18, 'gender': 'male', 'profession': 'student', 'country': 'India'}
Updated Dictionary: {'name': 'Sachin', 'age': 20, 'gender': 'male', 'profession': 'developer', 'country': 'India'}

说明

在此示例中,我们使用赋值运算符更改了给定字典中现有键的值。结果,字典项被更新。

遍历字典

从 Python 3.7 开始,字典是有序的项集合;因此,它会维护其项的顺序。我们可以使用“for”循环遍历字典键,如下面的示例所示。

示例

立即执行

输出

Items in Dictionary:
Name -> Sachin
Age -> 18
Gender -> Male
Profession -> Student
Country -> India

说明

在上面的示例中,我们使用了“for”循环来遍历字典中的键,并访问了每个键的值。

查找字典长度

为了查找字典的长度,我们可以使用 Python 的内置函数 len()。此函数将返回字典中存在的“键:值”对的总数,使我们能够有效地确定字典的大小。

让我们看下面的例子,展示 len() 函数在确定 Python 字典长度方面的用法。

示例

立即执行

输出

Given Data: {'John': 'Sr. Software Developer', 'Irfan': 'UI/UX Designer', 'Lucy': 'Human Resource Manager', 'Peter': 'Team Lead', 'Johnson': 'Business Developer'}
Size of Data: 5

说明

在上面的示例中,我们使用 len() 函数来找出给定字典中有多少项。

字典成员测试

我们可以使用“in”“not in”运算符来检查一个键是否存在于字典中。这是一个简单的示例,展示了如何在 Python 中查看指定的键是否是字典的一部分。

示例

立即执行

输出

Is 'fruit' a member of 'dict_y'?: True
Is 'beverage' a member of 'dict_y'?: False
Is 'beverage' NOT a member of 'dict_y'?: True

说明

在此示例中,我们使用“in”和“not in”运算符来检查指定的键是否存在于给定的字典中。“in”运算符在检查键是否存在于字典中后返回布尔值,而“not in”运算符在检查键不存在于字典中后返回布尔值。

Python 中的字典方法

Python 提供了几种字典方法来操作字典的数据。这些方法通常用于从字典中添加、更新、删除和返回元素。其中一些方法如下:

字典方法描述
get()此方法返回与特定键关联的值。
update()此方法用于向字典添加新项或更新现有键的值。
copy()此方法用于返回字典的副本。
pop()此方法从字典中删除具有给定键的项。
popitem()此方法用于返回最后插入的键和值作为元组。
clear()此方法删除字典中的所有项。
keys()此方法返回字典中的所有键。
values()此方法用于返回字典中的所有值。

结论

Python 字典是一种基本且高度灵活的数据类型,它允许我们使用“键:值”对来存储、访问和操作数据。它们经过优化,可实现快速查找,并且可以处理从简单映射到复杂嵌套数据的各种内容。无论我们是管理配置文件、处理 JSON,还是构建数据驱动的应用程序,掌握字典对于在实际场景中编写高效、简洁的代码至关重要。

Python 字典常见问题解答

1. 什么是 Python 字典?

Python 字典是“键:值”对的无序、可变集合,其中每个键都是唯一的,并与一个值相关联,该值允许基于键进行快速查找。

2. 我们可以在 Python 字典中存储哪些类型的值?

我们可以在字典中存储任何类型的值,包括数字、字符串、列表、字典,甚至是自定义对象。在存储值方面没有限制;但是,在键的情况下有一些要求。

3. 我们可以使用哪些类型的数据作为 Python 字典的键?

字典的键必须是不可变类型,这意味着我们可以使用字符串、数字和元组作为键;但是,不允许我们将列表或字典作为键,因为它们是可变数据类型。

4. Python 字典是否可以包含重复的键?

不可以。我们不能在字典中使用重复的键。如果我们尝试在字典中插入一个预先存在的键,新值将覆盖现有值。

5. Python 字典可以包含嵌套字典吗?

是的。字典可以嵌套,这意味着我们可以将字典作为值存储在字典中。这是表示 JSON 响应或配置文件等复杂分层数据的有用方法。


下一个主题Python 字典方法