【问题标题】:setting the default string value of Python's collections.defaultdict设置 Python 的 collections.defaultdict 的默认字符串值
【发布时间】:2012-06-11 00:10:11
【问题描述】:

我正在使用 Python 3.2.3 并想更改默认返回的字符串值:

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

返回的值为''。如何更改此设置,以便在未找到密钥时返回 "unknown" 而不是空字符串?

【问题讨论】:

    标签: python collections


    【解决方案1】:

    defaultdict 的参数是一个返回默认值的函数(或者更确切地说,一个可调用对象)。所以你可以传入一个返回你想要的默认值的 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'
    

    请参阅the documentation 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2010-09-26
      相关资源
      最近更新 更多