sam*_*sam 6 python collections defaultdict
有没有办法在创建后更改defaultdict的default_factory(在调用不存在的键时返回的值)?
例如,当一个defaultdict如
d = defaultdict(lambda:1)
Run Code Online (Sandbox Code Playgroud)
创建时,d只要d['absent']调用不存在的键,就会返回1 .在初始定义之后,如何将此默认值更改为其他值(例如,2)?
Ash*_*ary 12
将新值分配给default_factorydefaultdict 的属性.
该属性由
__missing__()方法使用; 它从构造函数的第一个参数初始化(如果存在),或者None如果不存在则初始化.
演示:
>>> dic = defaultdict(lambda:1)
>>> dic[5]
1
>>> dic.default_factory = lambda:2
>>> dic[100]
2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |