Skip to main content
 首页 » 编程设计

python之在 Python 中同时向字典添加键和 +1 值

2025年05月04日14shihaiming

我可以同时向字典添加一个键并为该键分配一个键 + 1 值吗?

我在解释器中的原始脚本看起来像这样:

>>> if isinstance('my current string', basestring): 
...     mydictionary[mynewkey] = mydictionary[mynewkey] + 1 

我得到的错误是这样的:

Traceback (most recent call last): 
  File "<stdin>", line 2, in <module> 
NameError: name 'mynewkey' is not defined 

所以我想将 mynewkey 和新值 1 添加到 mydictionary,最终能够打印 mydictionary 并得出 {mynewkey: 1}。

请您参考如下方法:

一种方法是使用 dict.get() :

mydictionary[mynewkey] = mydictionary.get(mynewkey, 0) + 1 

此处 mydictionary.get(mynewkey, 0) 将返回 mynewkey 中命名的键的值,如果没有则返回 0 key 存在。

最简单的方法是使用 collections.defaultdict() object ,以 int 作为工厂:

from collections import defaultdict 
 
mydictionary = defaultdict(int) 

任何您尝试访问但尚不存在的 key 都会被初始化为 0,您可以简单地执行以下操作:

if isinstance('my current string', basestring): 
    mydictionary[mynewkey] += 1 

它会正常工作™