Python字典方法

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

在 Python 中,字典方法是我们用来对字典执行特定操作的内置函数。 Python 字典是最强大的数据结构之一,因为这种数据类型允许以“键:值”对的形式存储数据。

Python 提供了各种有效且高效的方法,允许我们向字典添加、更新、删除和返回元素。以下是用于操作字典数据的方法列表:

方法描述
get()此方法返回与特定键关联的值。
update()此方法用于向字典添加新项或更新现有键的值。
copy()此方法用于返回字典的副本。
pop()此方法从字典中删除具有给定键的项。
popitem()此方法用于以元组的形式返回最后一个插入的键和值。
clear()此方法从字典中删除所有项。
keys()此方法返回字典中的所有键。
fromkeys()此方法用于根据键的序列和值创建新字典。
items()此方法返回字典中键值对的视图。
setdefault()此方法用于在键存在时返回其值,否则将键设置为默认值。
values()此方法用于返回字典中的所有值。

1) get()

在 Python 中,字典的 get() 方法用于返回字典中与特定键关联的值。它是一种安全的访问字典值的方法,如果键不存在,则不会引发 KeyError 异常。

get() 方法的语法如下所示:

语法

让我们看一个示例来理解 get() 方法在 Python 中的工作原理。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Sachin
Not Found

说明

在上面的示例中,我们使用 get() 方法返回指定键的值。如我们所见,键 'name' 存在于字典中。因此,它返回了它的值,而对于不存在于字典中的键 'salary',则打印了默认值“Not Found”。

2) update()

update() 方法是 Python 中的一个内置字典函数,它允许我们使用来自另一个字典或键值对可迭代对象的元素来更新字典的键值对。

此方法有助于我们高效有效地添加新数据或将其与现有字典条目合并。

update() 方法的语法如下所示:

语法

让我们看一个简单的示例,展示 update() 方法在 Python 中的用法。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Updated Dictionary: {'name': 'Sachin', 'age': 22, 'salary': 69000, 'profession': 'software engineer'}

说明

在此示例中,我们使用 update() 方法将指定字典中的数据添加到目标字典中。

3) copy()

Python 的 copy() 方法是一个内置的字典方法。此方法用于创建字典的浅拷贝。

copy() 方法的语法如下所示:

语法

现在我们将看到一个示例,展示字典 copy() 方法在 Python 中的用例。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
New Dictionary: {'name': 'Sachin', 'age': 22}

说明

在这里,我们使用 copy() 方法通过将给定字典中的所有项复制到目标字典中来创建给定字典的浅拷贝。

4) pop()

pop() 方法是 Python 内置方法之一,用于从字典中删除指定键的值。它还返回被删除的值。如果字典中不存在该键,我们可以设置一个可选的默认返回值。

以下是 pop() 方法的语法:

语法

让我们看一个示例,展示 pop() 方法在 Python 中的用法。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Popped Value: 22
Updated Dictionary: {'name': 'Sachin'}

说明

在这里,我们使用 pop() 方法删除并返回键 'age' 的值。

5) popitem()

在 Python 中,popitem() 方法是另一个用于字典的内置函数。此方法的主要目的是允许我们以元组的形式删除并返回最后一个插入的键值对。如果字典为空,此方法将引发 KeyError 异常。

以下是 Python 中 popitem() 方法的语法:

语法

让我们看一个简单的示例,展示 popitem() 方法的用法。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Popped Value: ('age', 22)
Updated Dictionary: {'name': 'Sachin'}

说明

在上面的示例中,我们使用 popitem() 方法从指定的字典中删除并返回最后一个插入的项。

6) clear()

clear() 方法是一个内置函数,用于清除 Python 字典中的所有数据。此方法允许我们从给定字典中删除所有项,使其成为一个空字典。

clear() 方法的语法如下所示:

语法

我们现在将看到一个 Python 字典 clear() 方法的简单示例。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Updated Dictionary: {}

说明

在此示例中,我们使用 clear() 方法删除了字典中的所有项。结果,指定的字典变成了一个空字典。

7) keys()

在 Python 中,keys() 方法是一个内置的字典函数,用于返回一个包含字典键的视图对象,允许我们高效地访问和迭代字典。

keys() 方法的语法如下:

语法

下面是一个简单的示例,展示了 keys() 方法在 Python 中的实现。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
dict_keys(['name', 'age'])

说明

在此示例中,我们使用 keys() 方法返回一个 dict_keys 对象,该对象包含给定字典中的所有键。

8) fromkeys()

Python 中的 fromkeys() 方法是一个内置的字典函数,我们可以使用它通过共享的默认值从键创建字典。

fromkeys() 方法的语法如下所示:

语法

我们现在将看到 fromkeys() 方法的一个简单示例。

示例

立即执行

输出

Created Dictionary: {'first name': 'Unknown', 'last name': 'Unknown', 'job profile': 'Unknown'}

说明

在上面的示例中,我们使用 fromkeys() 方法创建了一个新字典,并将每个键的值初始化为“Unknown”。

9) items()

items() 方法是 Python 字典的一个内置函数,用于以元组的形式返回包含字典中“键-值”对的视图对象。此方法提供了一种方便的方式来同时访问键和值。

以下是 Python 中 items() 方法的语法:

语法

让我们看一个简单的示例,展示如何在 Python 字典中使用 items() 方法。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
dict_items([('name', 'Sachin'), ('age', 22)])

说明

在上面的示例中,我们使用 items() 方法将字典中的所有键值对作为 dict_items 对象返回。

10) setdefault()

setdefault() 方法是 Python 字典的一个内置函数,它允许我们返回与指定键关联的值。如果键不存在于字典中,它会添加该键以及指定的默认值并返回该值。

以下是 Python 中 setdefault() 方法的语法:

语法

让我们看一个简单的示例,展示 setdefault() 方法在 Python 中的用例。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
Age: 22
Salary: 69000
Updated Dictionary: {'name': 'Sachin', 'age': 22, 'salary': 69000}

说明

在此示例中,我们使用 setdefault() 方法返回指定键的值。在这里,此方法返回了键 'age' 的值;但是,对于键 'salary',该键已插入字典中,并返回了与其关联的默认值。

11) values()

在 Python 中,values() 方法允许我们返回一个包含字典中所有值的视图对象,可以高效地访问和迭代。

values() 的语法如下:

语法

让我们来看一个示例,展示如何在 Python 中使用 values() 方法。

示例

立即执行

输出

Given Dictionary: {'name': 'Sachin', 'age': 22}
dict_values(['Sachin', 22])

说明

在此示例中,我们使用 values() 方法返回一个 dict_values 对象,该对象包含给定字典中的所有值。

Python 字典方法常见问题解答

1. get() 在字典方面与通过方括号 ([]) 的直接访问有何不同?

  • get(key) 如果键不存在,则返回 None 或指定的默认值。
  • 如果键不存在,dict[key] 将引发 KeyError。

示例

输出

None
Raises KeyError

2. pop() 和 popitem() 有何区别?

  • pop(key) 删除指定的键。
  • popitem() 删除最后一个插入的“键:值”对。

3. copy() 创建字典的深拷贝吗?

不。对于第 0 层,仍然创建浅拷贝,这不会复制第 1 层及更深层。嵌套字典或可变容器不会触发复制爆炸。

示例

输出

{'a': [1, 2, 3]}

4. 允许使用列表等可变类型值作为字典的键吗?

原因在于无法使用字符串、数字或元组等可变键。列表甚至字典本身都不适合用作键。

5. setdefault() 在键已存在时会做什么?

如前所述,指定的键将获得其值,而不会进行任何更改。仅当键不存在时,修改才会设置默认值。