8 python dictionary defaultdict
在以下代码中:
from collections import defaultdict
confusion_proba_dict = defaultdict(float)
for i in xrange(10):
confusion_proba_dict[i] = i + 10
print confusion_proba_dict
Run Code Online (Sandbox Code Playgroud)
输出是:
defaultdict(<type 'float'>, {0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19})
Run Code Online (Sandbox Code Playgroud)
但是,我需要输出为:
{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
Cop*_*eld 12
只需将其转换为常规字典
print( dict(confusion_proba_dict) )
Run Code Online (Sandbox Code Playgroud)
但如果您打算使用这样的,只需使用常规字典,因为您不使用defaultdict的任何优点
有趣的解决方案!(如果您有 defaultdict 的 defaultdict 也可以使用!)
import json
import pprint
pprint.pprint(json.loads(json.dumps(confusion_proba_dict)))
Run Code Online (Sandbox Code Playgroud)
小智 5
蟒蛇2:
print dict(confusion_proba_dict)
Run Code Online (Sandbox Code Playgroud)
蟒蛇3:
print(dict(confusion_proba_dict))
Run Code Online (Sandbox Code Playgroud)