jft*_*uga 38 python collections
我正在使用Python 3.2.3并希望更改默认返回的字符串值:
from collections import defaultdict
d=defaultdict(str)
d["NonExistent"]
Run Code Online (Sandbox Code Playgroud)
返回的值是''.如何更改此设置,以便在找不到密钥时"unknown"返回而不是空字符串?
Bre*_*arn 60
defaultdict的参数是一个返回默认值的函数(或者更确切地说是一个可调用对象).因此,您可以传入一个返回所需默认值的lambda.
>>> from collections import defaultdict
>>> d = defaultdict(lambda: 'My default')
>>> d['junk']
'My default'
Run Code Online (Sandbox Code Playgroud)
编辑解释lambda:
lambda只是定义函数而不给它命名的简写.您可以使用显式def执行相同的操作:
>>> def myDefault():
... return 'My default'
>>>> d = defaultdict(myDefault)
>>> d['junk']
'My default'
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档.
| 归档时间: |
|
| 查看次数: |
15898 次 |
| 最近记录: |