同时添加键和+;Python中字典的1个值

同时添加键和+;Python中字典的1个值,python,dictionary,key,Python,Dictionary,Key,我可以同时向字典添加一个键并为该键指定一个键+1值吗 我在解释器中的原始脚本如下所示: >>> if isinstance('my current string', basestring): ... mydictionary[mynewkey] = mydictionary[mynewkey] + 1 Traceback (most recent call last): File "<stdin>", line 2, in <module>

我可以同时向字典添加一个键并为该键指定一个键+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
我得到的错误如下所示:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
NameError: name 'mynewkey' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
NameError:未定义名称“mynewkey”
因此,我想将mynewkey和一个新值1添加到mydictionary中,最终能够打印mydictionary并得出
{mynewkey:1}

一种方法是使用:

此处
mydictionary.get(mynewkey,0)
将返回
mynewkey
中指定的键的值,或者如果不存在这样的键,则返回
0

最简单的方法是使用,将
int
作为工厂:

from collections import defaultdict

mydictionary = defaultdict(int)
您尝试访问的任何尚未存在的密钥都将初始化为
0
,您只需执行以下操作:

if isinstance('my current string', basestring):
    mydictionary[mynewkey] += 1
这样就行了™

一种方法是使用:

此处
mydictionary.get(mynewkey,0)
将返回
mynewkey
中指定的键的值,或者如果不存在这样的键,则返回
0

最简单的方法是使用,将
int
作为工厂:

from collections import defaultdict

mydictionary = defaultdict(int)
您尝试访问的任何尚未存在的密钥都将初始化为
0
,您只需执行以下操作:

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

这样就行了™

每次出现newkey时,您都需要首先将其初始化为默认值(通常为零)。之后,您可以在没有任何错误消息的情况下增加它。演示如下所示:

>>> a=['a','b','c','a','a','c']
>>> for mynewkey in a:
...     d.setdefault(mynewkey,0)
...     d[mynewkey]=d[mynewkey]+1
... 
>>> d
{'a': 3, 'c': 2, 'b': 1}

每次出现newkey时,您都需要首先将其初始化为默认值(通常为零)。之后,您可以在没有任何错误消息的情况下增加它。演示如下所示:

>>> a=['a','b','c','a','a','c']
>>> for mynewkey in a:
...     d.setdefault(mynewkey,0)
...     d[mynewkey]=d[mynewkey]+1
... 
>>> d
{'a': 3, 'c': 2, 'b': 1}