web-dev-qa-db-ja.com

タイプなしで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

出力は次のとおりです。

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}

どうすればいいですか?

8
user6867490

通常のdictに変換するだけです

print( dict(confusion_proba_dict) )

ただし、そのように使用する場合は、defaultdictの利点を使用しないため、通常のdictを使用してください。

11
Copperfield
print dict(confusion_proba_dict)
3
Waxrat

恐ろしい解決策! (defaultdictのdefaultdictがある場合にも機能します!)

import json
import pprint
pprint.pprint(json.loads(json.dumps(confusion_proba_dict)))
0
Cédric2