簡體   English   中英

設置Python的collections.defaultdict的默認字符串值

[英]setting the default string value of Python's collections.defaultdict

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

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

返回的值是'' 如何更改此設置,以便在找不到密鑰時,返回"unknown"而不是空字符串?

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'

有關詳細信息,請參閱文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM