Python字典dict的初始化方法
文章目录
- 简介
- 直接初始化
- dict()构造函数
- 键值对列表转换
- zip()合并键值
- 字典推导式
- fromkeys()默认值初始化
- 动态键值赋值
- collections.defaultdict
- JSON 反序列化
- 参考文献
简介
Python 中的字典(dict)是最核心的数据结构之一,它以键值对(key-value)形式存储数据,具有极高的灵活性和性能。核心用途:
- 快速数据检索。原理:字典基于哈希表实现,查询时间复杂度为 O(1)
- 计数器与统计
- 数据分组与聚合
- 配置管理
- 模拟JSON结构
- 缓存与记忆化
- 快速去重
- 实现哈希表高级结构
- 动态属性存储
- 多级数据映射
直接初始化
d = {'name': 'Alice', 'age': 25}
print(d) # {'name': 'Alice', 'age': 25}
dict()构造函数
d = dict(name='Alice', age=25) # 关键字参数(键必须是合法变量名)
print(d) # {'name': 'Alice', 'age': 25}
键值对列表转换
pairs = [('name', 'Alice'), ('age', 25)]
d = dict(pairs) # 从二元组列表创建
print(d) # {'name': 'Alice', 'age': 25}
zip()合并键值
keys = ['name', 'age']
values = ['Alice', 25]
d = dict(zip(keys, values)) # 合并两个列表
print(d) # {'name': 'Alice', 'age': 25}
字典推导式
keys = ['name', 'age']
values = ['Alice', 25]
d = {k: v for k, v in zip(keys, values)} # 推导式创建
print(d) # {'name': 'Alice', 'age': 25}
fromkeys()默认值初始化
keys = ['name', 'age']
d = dict.fromkeys(keys, None) # 所有键的值设为None
print(d) # {'name': None, 'age': None}d = dict.fromkeys(keys, 0) # 所有键的值设为0
print(d) # {'name': 0, 'age': 0}
动态键值赋值
d = {}
d['name'] = 'Alice' # 动态添加键值
d['age'] = 25
print(d) # {'name': 'Alice', 'age': 25}
collections.defaultdict
from collections import defaultdictd = defaultdict(int) # 默认值为0
d['count'] += 1 # 自动初始化缺失键
print(d) # defaultdict(<class 'int'>, {'count': 1})
JSON 反序列化
import jsonjson_str = '{"name": "Alice", "age": 25}'
d = json.loads(json_str) # JSON转字典
print(d) # {'name': 'Alice', 'age': 25}
参考文献
- 映射类型 — dict — Python 文档