[英]Defaultdict with values defaulted to negative infinity
我想創建一個默認字典,其中默認值為負無窮大。 我嘗試做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
並根據文檔 (重點是我的):
如果
default_factory
[defaultdict
的第一個參數]不為None
,則在不帶參數的情況下調用該函數以提供給定鍵的默認值,此值將插入鍵的字典中並返回。
float('-inf')
是不可調用的。 相反,您可以執行例如:
dct = defaultdict(lambda: float('-inf'))
提供可返回默認值的可調用“ lambda表達式” 。 出於同樣的原因,您看到的代碼包含defaultdict(int)
而不是defaultdict(0)
:
>>> int() # callable
0 # returns the desired default value
例如,當嘗試將defaultdict
彼此嵌套時,您也會遇到類似的問題(請參閱Python:defaultdict的defaultdict? )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.