Day49:添加字典元素
在 Python 中,字典是一个可变的数据类型,这意味着你可以随时添加新的键值对。今天我们将学习如何向字典中添加元素。
1. 使用方括号 ([]
) 添加新元素
最简单的方法是通过字典的键,使用方括号 []
来添加新的键值对。如果该键已经存在,值会被更新;如果该键不存在,就会新建该键值对。
示例:
my_dict = {'name': 'Alice', 'age': 25}
# 添加新的键值对
my_dict['city'] = 'New York'
# 打印更新后的字典
print(my_dict)
输出:
{'name': 'Alice', 'age': 25, 'city': 'New York'}
2. 使用 update()
方法添加新元素
update()
方法可以用来向字典添加一个或多个键值对。如果字典中已有相同的键,update()
会更新该键的值;如果没有相同的键,update()
会直接添加新的键值对。你可以传递一个字典或者键值对作为参数。
示例:
my_dict = {'name': 'Alice', 'age': 25}
# 使用 update() 添加一个键值对
my_dict.update({'city': 'New York'})
# 使用 update() 添加多个键值对
my_dict.update({'country': 'USA', 'job': 'Engineer'})
# 打印更新后的字典
print(my_dict)
输出:
{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA', 'job': 'Engineer'}
3. 使用 setdefault()
方法添加元素
setdefault()
方法用于获取字典中指定键的值,如果该键不存在,就会将键值对添加到字典中。setdefault()
方法返回的是键的值,如果键存在则返回该值,如果不存在则返回默认值并将其添加到字典中。
示例:
my_dict = {'name': 'Alice', 'age': 25}
# 使用 setdefault() 添加新键值对
my_dict.setdefault('city', 'New York')
# 使用 setdefault() 获取值,并且键不存在时会添加新键值对
my_dict.setdefault('country', 'USA')
# 打印更新后的字典
print(my_dict)
输出:
{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}
4. 使用字典解包合并字典
在 Python 3.5 及其以后的版本中,你可以使用字典解包来合并字典,并添加新的键值对。使用 **
运算符可以将一个字典中的内容解包到另一个字典中。
示例:
dict1 = {'name': 'Alice', 'age': 25}
dict2 = {'city': 'New York', 'country': 'USA'}
# 使用字典解包合并字典
merged_dict = {**dict1, **dict2, 'job': 'Engineer'}
# 打印合并后的字典
print(merged_dict)
输出:
{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA', 'job': 'Engineer'}
5. 小结
- 使用方括号 (
[]
) 可以直接通过键添加新的键值对。 - 使用
update()
方法可以一次添加一个或多个键值对。 - 使用
setdefault()
方法可以添加新的键值对,如果键已存在则返回其值。 - 使用字典解包(
**
)可以合并字典并添加新的键值对。
6. 课后练习
练习 1:使用方括号添加字典元素
给定字典 {'name': 'Bob', 'age': 30}
,使用方括号添加键 city
,并将其值设置为 'Los Angeles'
。
练习 2:使用 update()
方法添加多个键值对
给定字典 {'name': 'Charlie', 'age': 22}
,使用 update()
方法一次添加 city
和 job
键值对,city
设置为 'Chicago'
,job
设置为 'Developer'
。
练习 3:使用 setdefault()
方法添加新元素
给定字典 {'name': 'David', 'age': 40}
,使用 setdefault()
方法添加一个键 country
,并设置默认值为 'Canada'
。
练习 4:字典解包合并字典
给定字典 {'name': 'Eva', 'age': 35}
和 {'city': 'Paris'}
,使用字典解包将它们合并,并添加一个新的键值对 job: 'Designer'
。
练习 5:使用 update()
添加单个键值对
给定字典 {'name': 'Frank', 'age': 28}
,使用 update()
方法添加键 city
,并将其值设置为 'Berlin'
。