同时添加键和+;Python中字典的1个值
我可以同时向字典添加一个键并为该键指定一个键+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>
>>> 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}