Python字典增量

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (123)

在Python中,在增加密钥之前必须首先检查密钥是否在字典中是很烦人的:

if key in my_dict:
  my_dict[key] += num
else:
  my_dict[key] = num

以上四条线是否有较短的替代品?

提问于
用户回答回答于

另一种选择是:

my_dict[key] = my_dict.get(key, 0) + num
用户回答回答于

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

>>> from collections import Counter
>>> d = Counter()
>>> d[12] += 3
>>> d
Counter({12: 3})

或者defaultdict

>>> 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})

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励