让我们一步步来学习 Python 字典。
字典 (Dictionary): 键值对的集合,是一种无序的可变容器模型,可以存储任意类型对象,字典的键必须是不可变类型且唯一。
1.字典的创建
字典是一种可变容器模型,可以存储任意类型对象,其中每个对象都是由一个键(key)和一个值(value)组成的“键值对”。
创建一个字典最简单的方式是使用花括号 {}
,其中键和值用冒号 :
分隔。
# 创建一个空字典
empty_dict = {}
# 创建一个带有数据的字典
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
# 使用dict()函数创建字典
another_dict = dict(name='Bob', age=30, gender='Male')
2.字典的遍历
字典的遍历可以通过几种方式进行,可以遍历键、遍历值,或同时遍历键和值。
# 遍历键
for key in my_dict:
print(key)
for key in my_dict.keys():
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 同时遍历键和值
for key, value in my_dict.items():
print(f"Key: {key}, Value: {value}")
3.字典的修改
在 Python 中,修改字典的内容是非常简单直接的。你可以通过指定键来更改其对应的值,或者添加新的键值对。以下是一些常见的字典修改操作:
- -修改字典的值- -
要修改字典中的值,你可以直接通过键来访问并赋予一个新的值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'Female'}
# 修改现有的键值
my_dict['age'] = 26
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'gender': 'Female'}
- - 添加新的键值对- -
如果你赋值给字典中不存在的键,Python 会自动创建新的键值对。
# 添加新的键值对
my_dict['email'] = 'alice@example.com'
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'gender': 'Female', 'email': 'alice@example.com'}
- -更新字典- -
你也可以使用 update()
方法来更新字典,这个方法可以用来一次性添加或修改多个键值对。
如果 update()
方法中的字典包含已经存在的键,那么它的值将被新值覆盖。如果键不存在,那么将添加新的键值对。
# 使用 update() 更新字典
my_dict.update({'age': 27, 'gender': 'Female'})
print(my_dict) # 输出: {'name': 'Alice', 'email': 'alice@example.com', 'age': 27, 'gender': 'Female'}
4.字典的删除
要从字典中删除键值对,你可以使用 del
语句或字典的 pop()
方法。
# 使用 del 删除键值对
del my_dict['gender']
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'email': 'alice@example.com'}
# 使用 pop() 删除键值对并获取其值
age = my_dict.pop('age')
print(age) # 输出: 26
print(my_dict) # 输出: {'name': 'Alice', 'email': 'alice@example.com'}
使用 pop()
方法时,如果指定的键不存在,可以提供一个默认值,否则会引发 KeyError
。
5.字典的相关函数和方法
字典类型提供的一些常用方法和函数:
dict.keys()
: 返回一个可迭代对象,包含字典的所有键。dict.values()
: 返回一个可迭代对象,包含字典的所有值。dict.items()
: 返回一个可迭代对象,包含字典的所有键值对(元组形式)。
-dict.get(key, default)
: 返回指定键的值,如果键不存在于字典中,返回默认值。dict.setdefault(key, default)
: 如果键在字典中,返回其值。如果不在,则插入键值对,并返回默认值。dict.update(other)
: 更新字典,添加其他字典other
中的键值对。dict.pop(key, default)
: 删除指定键的元素,返回值。如果键不存在,则返回默认值。dict.clear()
: 清空字典。
6. 字典的常用场景
字典在 Python 中使用非常广泛,一些常见的使用场景包括:
- 存储对象属性:可以用键来代表属性名,用值来存储属性值。
- 计数器:用键来存储要计数的项,值来存储计数。
- 缓存(memoization):在递归或时间复杂度高的函数中,用来存储已经计算过的结果,以避免重复计算。
- 映射:一般的映射关系,如一对一、多对一的关系等。
- 配置存储:存储配置项,如应用程序的设置等。
字典由于其键值对的存储方式和高效的查找性能,成为了 Python 中非常实用的数据结构。