![](/img/trans.png)
[英]Python's collections.defaultdict returns default value correctly unless the key isn't referenced first
[英]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.