Python中字典键不存在则创建条目否则累加值的简洁Pythonic写法
Python 字典计数逻辑的Pythonic实现
以下是几种不需要if/else判断的实现方案,可根据使用场景选择:
- 原生字典
get方法(无额外依赖,完美替代原有逻辑的单行写法)
DICT['KEY'] = DICT.get('KEY', 0) + 1
dict.get(key, default)会在键存在时返回对应值,键不存在时返回指定的默认值,此处设置默认值为0,加1后重新赋值即可实现需求。
- 批量计数场景专用的
defaultdict实现
如果需要频繁执行该类计数操作,可提前初始化特殊字典实例,后续操作更简洁:
from collections import defaultdict DICT = defaultdict(int) # 后续任意需要计数的位置直接写单行代码即可,无需判断键是否存在 DICT['KEY'] += 1
defaultdict会在访问不存在的键时,自动用传入的构造函数生成默认值(int构造的默认值为0),自动完成键的初始化操作。
- 高频统计场景专用的
Counter实现
如果你的核心需求是统计元素出现频率,可使用专门的计数类,支持更多统计相关功能:
from collections import Counter cnt = Counter() cnt['KEY'] += 1
该类除了基础自增逻辑外,还支持直接传入可迭代对象批量统计、取TopN高频元素等扩展能力。
内容的提问来源于stack exchange,提问作者Charles Consumé
相关产品推荐
相关产品推荐

