首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python字典增量

Python字典增量
EN

Stack Overflow用户
提问于 2012-10-21 04:00:04
回答 6查看 44.2K关注 0票数 40

在Python中,在递增关键字之前,必须先检查它是否在字典中,这很烦人:

代码语言:javascript
复制
if key in my_dict:
  my_dict[key] += num
else:
  my_dict[key] = num

上面的四行有没有更短的替代行?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-21 04:06:32

另一种选择是:

代码语言:javascript
复制
my_dict[key] = my_dict.get(key, 0) + num
票数 76
EN

Stack Overflow用户

发布于 2012-10-21 04:01:56

你有很多选择。我喜欢使用Counter

代码语言:javascript
复制
>>> from collections import Counter
>>> d = Counter()
>>> d[12] += 3
>>> d
Counter({12: 3})

defaultdict

代码语言:javascript
复制
>>> from collections import defaultdict
>>> d = defaultdict(int)  # int() == 0, so the default value for each key is 0
>>> d[12] += 3
>>> d
defaultdict(<function <lambda> at 0x7ff2fe7d37d0>, {12: 3})
票数 30
EN

Stack Overflow用户

发布于 2012-10-21 04:01:44

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12992165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档