Python - 更改字典项



更改字典项

在 Python 中更改字典项是指修改与字典中特定键关联的值。这可能涉及更新现有键的值、添加新的键值对或从字典中删除键值对。

字典是可变的,这意味着其内容在创建后可以修改。

修改字典值

修改 Python 字典中的值是指更改与现有键关联的值。为此,您可以直接为该键分配新值。

在以下示例中,我们将定义一个名为“person”的字典,其中包含键“name”、“age”和“city”及其相应的值。然后,我们将与键 'age' 关联的值修改为 26 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Modifying the value associated with the key 'age'
person['age'] = 26
print(person)

它将产生以下输出 -

{'name': 'Alice', 'age': 26, 'city': 'New York'}

更新多个字典值

如果需要一次更新字典中的多个值,可以使用 update() 方法。此方法用于使用来自另一个字典或键值对可迭代对象的元素更新字典。

update() 方法将提供的字典或 iterable 中的键值对添加到原始字典中,如果原始字典中已存在新值,则用新值覆盖任何现有键。

在下面的示例中,我们使用 update() 方法来修改与 'persons' 字典中键 'age' 和 'city' 关联的值 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Updating multiple values
person.update({'age': 26, 'city': 'Los Angeles'})
print(person)

我们得到的输出如下所示 -

{'name': 'Alice', 'age': 26, 'city': 'Los Angeles'}

条件字典修改

Python 字典中的条件修改是指仅在满足特定条件时更改与键关联的值。

在修改 key 关联的值之前,您可以使用 if 语句检查某个条件是否为 true。

在此示例中,如果 'persons' 字典中的当前值为 '25',我们将有条件地将与键 'age' 关联的值修改为 '26' -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Conditionally modifying the value associated with 'age'
if person['age'] == 25:
	 	person['age'] = 26
print(person)

获得的输出如下所示 -

{'name': 'Alice', 'age': 26, 'city': 'New York'}

通过添加新的键值对来修改字典

向 Python 字典添加新的键值对是指将新键及其相应的值插入字典中。

此过程允许您根据需要包含其他信息,从而动态扩展存储在字典中的数据。

示例:使用赋值运算符

您可以通过直接为新键赋值来向字典添加新的键值对,如下所示。在下面的示例中,值为 'New York' 的键 'city' 被添加到 'person' 字典中 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25}
# Adding a new key-value pair 'city': 'New York'
person['city'] = 'New York'
print(person)

生成的结果如下 -

{'name': 'Alice', 'age': 25, 'city': 'New York'}

示例:使用 setdefault() 方法

如果键尚不存在,则可以使用 setdefault() 方法将新的键值对添加到字典中。

在此示例中,仅当键 'city' 尚不存在时,setdefault() 方法才会将值为 'New York' 的新键 'city' 添加到 'person' 字典中 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25}
# Adding a new key-value pair 'city': 'New York'
person.setdefault('city', 'New York')
print(person)

以下是上述代码的输出 -

{'name': 'Alice', 'age': 25, 'city': 'New York'}

通过删除键值对来修改字典

从 Python 字典中删除键值对是指从字典中删除特定键及其相应的值。

此过程允许您根据要消除的键有选择地从字典中删除数据。

示例:使用 del 语句

您可以使用 del 语句从字典中删除特定的键值对。在此示例中,del 语句从 'person' 字典中删除键 'age' 及其关联值 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Removing the key-value pair associated with the key 'age'
del person['age']
print(person)

上述代码的输出如下所示 -

{'name': 'Alice', 'city': 'New York'}

示例:使用 pop() 方法

您还可以使用 pop() 方法从字典中删除特定的键值对,并返回与已删除的键关联的值。

在这里,pop() 方法从 'person' 字典中删除键 'age' 及其关联值 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Removing the key-value pair associated with the key 'age'
removed_age = person.pop('age')

print(person)
print("Removed age:", removed_age)

它将产生以下输出 -

{'name': 'Alice', 'city': 'New York'}
Removed age: 25

示例:使用 popitem() 方法

您也可以使用 popitem() 方法从字典中删除最后一个键值对并将其作为 Tuples 返回。

现在,popitem() 方法从 'person' 字典中删除最后一个键值对,并将其作为元组返回 -


# Initial dictionary
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Removing the last key-value pair	
removed_item = person.popitem()

print(person)
print("Removed item:", removed_item)

我们得到的输出如下所示 -

{'name': 'Alice', 'age': 25}
Removed item: ('city', 'New York')