acc*_*lke -1 python defaultdict
我想创建一个默认字典,默认值为负无穷大.我尝试过,defaultdict(float("-inf"))但它不起作用.我该怎么做呢?
跟踪专门告诉你:
>>> from collections import defaultdict
>>> dct = defaultdict(float('-inf'))
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
dct = defaultdict(float('-inf'))
TypeError: first argument must be callable
Run Code Online (Sandbox Code Playgroud)
并根据文件(强调我的):
如果
default_factory[第一个参数defaultdict]不是None,则调用不带参数来为给定键提供默认值,该值将插入到键的字典中,然后返回.
float('-inf')是不是调用.相反,你可以这样做:
dct = defaultdict(lambda: float('-inf'))
Run Code Online (Sandbox Code Playgroud)
提供可调用的"lambda表达式",返回默认值.出于同样的原因,你看到代码defaultdict(int)而不是defaultdict(0):
>>> int() # callable
0 # returns the desired default value
Run Code Online (Sandbox Code Playgroud)
当你试图defaultdict在彼此之间嵌套时,你也会遇到类似的问题(参见Python:defaultdict of defaultdict?).
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |