You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3中:创建空字典逐个赋值与直接定义字典哪个更高效?

两种Python字典初始化方式的效率对比

直接创建并初始化所有键值对的方式(方式二)效率远高于先建空字典再逐个添加的方式(方式一),核心原因如下:

  • 字典字面量初始化是在编译阶段就完成了内存分配与键值对构建,Python解释器会一次性为所有元素分配足够空间,避免了后续动态扩容的额外开销。
  • 逐个添加键值对时,每一次赋值都要单独执行哈希计算、键存在性检查,若字典容量不足还会触发扩容操作(重新分配内存、迁移已有数据),累加下来性能损耗明显。

两种实现代码对比

方式一:先初始化空字典再逐个添加键值对

my_dict = {}
my_dict['a'] = 1
my_dict['b'] = 2
my_dict['c'] = 3

方式二:创建时直接初始化所有键值对

my_dict = {
    'a': 1,
    'b': 2,
    'c': 3
}

量化性能差异(可选测试)

用timeit模块可以直观看到两者的耗时差距:

import timeit

# 测试方式一的耗时
time1 = timeit.timeit("my_dict = {}; my_dict['a']=1; my_dict['b']=2; my_dict['c']=3", number=1000000)
# 测试方式二的耗时
time2 = timeit.timeit("my_dict = {'a':1, 'b':2, 'c':3}", number=1000000)

print(f"方式一耗时: {time1:.4f}秒")
print(f"方式二耗时: {time2:.4f}秒")

实际运行后,方式二的耗时通常仅为方式一的一半甚至更少。

内容的提问来源于stack exchange,提问作者Karthik Vasishta Ramesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:57:02