Python 字典基础用法与高级特性详解
前言
字典(Dictionary)是 Python 中一种常用的数据结构,用于存储键值对(key-value pairs)。它是内置的映射类型,支持动态地添加、删除和修改其中的元素。字典在数据处理、配置管理、缓存实现等场景中应用极为广泛。
1. 字典的特点
- 键值对结构:每个元素由一个键(key)和一个值(value)组成,键和值之间使用冒号(:)分隔。
- 键的唯一性:键必须是唯一的,如果重复赋值,后面的值会覆盖前面的值。
- 无序性:在 Python 3.7 之前,字典是无序的;从 Python 3.7 开始,字典保持插入顺序,但逻辑上仍被视为映射而非序列,不能通过整数索引访问。
- 可变性:字典是可变的对象,可以在创建后修改内容。
- 哈希查找:基于哈希表实现,平均时间复杂度为 O(1) 的查找效率。
字典的基本创建方式
# 创建一个空字典
empty_dict = {}
print(empty_dict) # 输出:{}
# 创建一个包含键值对的字典
person = {'name': 'John', 'age': 30, 'city': 'New York'}
print(person)
# 使用 dict() 函数创建字典
# 方式一:传入关键字参数
car = dict(brand='Toyota', model='Camry', year=2020)
print(car)
# 方式二:传入可迭代的键值对列表
info = dict([('name', 'Alice'), ('age', 25)])
print(info)
2. 字典中键和值的数据类型
键(Key)的要求
键必须是不可变的数据类型,因为字典内部使用键的哈希值来定位数据。常见的合法键类型包括:
- 字符串(String)
- 整数(Integer)
- 浮点数(Float)
- 元组(Tuple),前提是元组内的元素也都是不可变的
以下类型不能作为键:
- 列表(List)
- 字典(Dict)
- 集合(Set)
值(Value)的要求
值可以是任意数据类型,包括不可变类型和可变类型。例如,值可以是另一个字典或列表。


