CodeGym /课程 /Python SELF ZH /修改字典

修改字典

Python SELF ZH
第 11 级 , 课程 5
可用

5.1 添加元素

我们已经学会了如何处理字典中的元素,现在让我们来看一下如何简单快速地修改这个字典。像往常一样,我们从添加元素开始。

添加一个元素

要向字典中添加新元素,可以使用方括号 []。如果键已存在,它的值将会被更新。


person = {"name": "Alice", "age": 25}

# 添加新元素到字典中
person["city"] = "New York"

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

如果键不存在则添加元素

有时候仅在键不存在的情况下才添加元素,这是通过条件表达式实现的。


person = {"name": "Alice", "age": 25}

# 仅在键不存在的情况下添加元素
if "city" not in person:
    person["city"] = "New York"

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

使用 update() 方法添加多个元素

update() 方法允许同时添加多对键值对。可以传递另一个字典或一个包含键值对的可迭代对象。


person = {"name": "Alice", "age": 25}
updates = {"city": "New York", "country": "USA"}

# 用新元素更新字典
person.update(updates)

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

也可以使用命名参数:


person = {"name": "Alice", "age": 25}

# 使用命名参数添加元素
person.update(city="New York", country="USA")

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

5.2 修改元素

修改元素的操作和添加一样,但如果键已经有旧的值,它将会被新的值替换。

通过键更新值

在字典中更新值,只需为已有的键赋予新的值即可。


person = {"name": "Alice", "age": 25, "city": "New York"}

# 通过键更新值
person["age"] = 26

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}

使用方法 setdefault()

setdefault() 方法返回指定键的值。如果键不存在,它被添加到字典中且拥有指定的默认值。


person = {"name": "Alice", "age": 25}

# 使用 setdefault 添加元素
city = person.setdefault("city", "New York")

# 输出城市值
print(city)  # 输出: New York

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

使用 update() 方法更新元素

你可以使用 update() 方法更新字典中元素的值,使用另一个字典或可迭代对象。


person = {"name": "Alice", "age": 25}
updates = {"age": 30, "city": "New York"}

# 使用 update() 方法更新字典
person.update(updates)

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

5.3 删除字典元素

可以用多种方法删除字典中的元素:

使用 del 操作符删除元素

del 操作符通过指定键删除字典中的键值对。


person = {"name": "Alice", "age": 25, "city": "New York"}

# 根据键删除元素
del person["age"]

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'city': 'New York'}

使用 pop(key, def_value) 方法删除元素

pop() 方法删除指定键的元素,并返回其值。如果键不存在,可以指定一个默认值以避免错误。


person = {"name": "Alice", "age": 25, "city": "New York"}

# 删除元素并获取它的值
age = person.pop("age")

# 输出被删除的值
print(age)  # 输出: 25

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'city': 'New York'}

使用 popitem() 方法删除最后添加的元素

popitem() 方法删除并返回最后添加的键值对。在处理旧版本的 Python 中无序字典时它特别有用。


person = {"name": "Alice", "age": 25, "city": "New York"}

# 删除并获取最后添加的键值对
last_item = person.popitem()

# 输出被删除的对
print(last_item)  # 输出: ('city', 'New York')

# 输出更新后的字典
print(person)  # 输出: {'name': 'Alice', 'age': 25}

使用 clear() 方法清空字典

clear() 方法删除字典中的所有元素,使其变空。


person = {"name": "Alice", "age": 25, "city": "New York"}

# 清空字典
person.clear()

# 输出清空后的字典
print(person)  # 输出: {}
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION