将 (键:值) 对附加到字典

2024 年 8 月 29 日 | 4 分钟阅读

字典是 Python 中最常用的数据类型之一。它是一个无序的键: 值对集合。每个值都有一个相应的键来标识它。字典是可变集合,意味着我们可以修改其中的值。字典在其他数据类型中独一无二的一个因素是它存储键: 值对的映射,而其他数据类型存储单个值作为元素。

示例

代码

输出

{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Ramya
Sanya
Sree

鉴于字典是可变的,我们应该能够更改现有键的值并向字典添加新的键: 值对。本教程讨论了如何向字典添加新的键: 值对。

1. 使用键下标的传统方法

我们可以为现有键赋我们想要的值。Python 会忘记旧值并将新值更新到该键。使用相同的方法,我们可以为新键赋新值,从而附加新对。

下标表示法的语法如下

语法

示例

代码

输出

{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
{101: 'Ramya', 102: 'Priyanka', 103 : 'Ujjwala', 104: 'Sanya', 105: 'Sree'}

2. update() 方法

它是一个内置的字典方法,用于修改字典。该方法将 {键: 值} 对作为参数并将其添加到字典中。

我们也可以使用此方法更新预先存在的键的值。

该方法可以接受任意数量的参数,这意味着它可以一次将字典附加任意数量的 {键: 值} 对。即使键已存在于字典中,其值也会被新值替换。如果键尚不存在,则会将新的键值对附加到字典中。

示例

代码

输出

{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
{101: 'Ramya', 102: 'Priyanka', 103: 'Ujjwala', 104: ' Sanya', 105: 'Sree'}

在上面的示例中,字典使用 update 方法修改了 4 次。前两个语句更新了已存在的键的值,而后两个语句向字典添加了两个新对。

如果我们想添加数千个新的键: 值对怎么办?

我们不能一个接一个地添加单个对。这需要大量时间,使代码复杂且冗长。

简单的方法是创建一个包含我们想要添加的所有新对的新字典,然后将其附加/合并到该字典中。

示例

代码

输出

The original dictionary: 
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
New key: value pairs: 
{104: 'Jeevani', 105: 'Rishitha', 106: 'Nikitha'}
The updated dictionary: 
{101: 'Ramya', 102: 'Sanya', 103: 'Sree', 104: 'Jeevani', 105: 'Rishitha', 106: 'Nikitha'}

3. 面向对象(OOPS)方法

我们使用 Python 的面向对象特性创建一个能够将新的键: 值对添加到字典的函数。

逻辑与传统方法相同,但不同之处在于我们为字典创建一个对象,用户可以输入要添加或修改字典的键: 值对。

示例

代码

输出

#updating existing key:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Enter the key you want to modify: 102
Enter the value to update: Priyanka
{101: 'Ramya', 102: 'Priyanka', 103: 'Sree'}

#adding new key:value pair:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Enter the key you want to modify: 104
Enter the value to update: Sanya
{101: 'Ramya', 102: 'Sanya', 103: 'Sree', 104: 'Sanya'}

4. 字典推导式

Python 中的一行代码可用于构造字典,并且可以使用字典推导式技术向现有字典添加新的键值对。

以下是使用 Python 的字典推导式功能添加键值组合的示例

示例

代码

输出

{'name': 'John', 'age': 30, 'address': '123 Main St.'}