设置Python的默认字符串值';s collections.defaultdict

设置Python的默认字符串值';s collections.defaultdict,python,collections,Python,Collections,我正在使用Python 3.2.3,希望更改默认返回的字符串值: from collections import defaultdict d=defaultdict(str) d["NonExistent"] 返回的值为'。如何更改此设置,以便在找不到键时,返回“未知”而不是空字符串?defaultdict的参数是一个返回默认值的函数(或者更确切地说,是一个可调用对象)。因此,您可以传入一个lambda,该lambda返回您想要的默认值 >>> from collection

我正在使用Python 3.2.3,希望更改默认返回的字符串值:

from collections import defaultdict
d=defaultdict(str)
d["NonExistent"]

返回的值为
'
。如何更改此设置,以便在找不到键时,返回“未知”而不是空字符串?

defaultdict的参数是一个返回默认值的函数(或者更确切地说,是一个可调用对象)。因此,您可以传入一个lambda,该lambda返回您想要的默认值

>>> from collections import defaultdict
>>> d = defaultdict(lambda: 'My default')
>>> d['junk']
'My default'
编辑以解释lambda:

lambda只是定义函数而不给它命名的简写。您可以使用显式def执行相同的操作:

>>> def myDefault():
...     return 'My default'
>>>> d = defaultdict(myDefault)
>>> d['junk']
'My default'
有关更多信息,请参阅