如何在没有类型的情况下打印 defaultdict 变量?

How to print defaultdict variable without its type?

在下面的代码中:

from collections import defaultdict

confusion_proba_dict = defaultdict(float)

for i in xrange(10):
    confusion_proba_dict[i] = i + 10

print confusion_proba_dict

输出为:

defaultdict(<type 'float'>, {0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19})

但是,我需要输出为:

{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}

我该怎么做?

Python 2:

print dict(confusion_proba_dict)

Python 3:

print(dict(confusion_proba_dict))

只需将其转换为普通字典

print( dict(confusion_proba_dict) )

但是如果你打算那样使用,只需使用常规字典,因为你没有使用 defaultdict

的任何优点

有趣的解决方案! (如果你有 defaultdict 的 defaultdict 也可以工作!)

import json
import pprint
pprint.pprint(json.loads(json.dumps(confusion_proba_dict)))