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

Python中实现字典计数赋值的更优写法是什么

Python 字典指定key计数的简洁实现方案

以下几种实现的时间复杂度和你当前使用的if-else写法完全一致,均为O(1)哈希操作,性能无差异,代码简洁度和可读性更高:

  • 方案1:使用dict内置get方法(无需导入模块)
    适合临时少量计数场景,不用额外引入依赖:
current = {}
current[key] = current.get(key, 0) + 1

get方法会在key不存在时返回指定的默认值(此处为0),无需手动判断key是否存在。

  • 方案2:使用collections.defaultdict
    适合频繁做计数操作的场景,初始化时指定值类型为int,访问不存在的key时会自动初始化为0:
from collections import defaultdict
current = defaultdict(int)
# 直接累加即可,无需额外判断
current[key] += 1
  • 方案3:使用collections.Counter(专门计数类)
    如果全链路都是计数统计场景,优先使用这个工具类,除基础计数外还支持排序、TopN提取、多计数结果合并等进阶功能:
from collections import Counter
current = Counter()
current[key] += 1

# 进阶用法:可直接传入可迭代对象完成批量统计
# current = Counter(["a", "b", "a", "c"]) 可直接得到所有元素的计数结果

内容的提问来源于stack exchange,提问作者icn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:42:04