如何打印没有类型的defaultdict变量?

问题描述 投票:0回答:4

在以下代码中:

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 dictionary defaultdict
4个回答
29
投票

只需将其转换为常规字典即可

print( dict(confusion_proba_dict) )

但是如果你打算这样使用,只需使用常规字典即可,因为你没有使用 defaultdict 的任何优点


9
投票

有趣的解决方案! (如果您有 defaultdict 的 defaultdict 也适用!)

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

6
投票

Python 2:

print dict(confusion_proba_dict)

Python 3:

print(dict(confusion_proba_dict))

0
投票

转换成json

print(json.dumps(confusion_proba_dict, indent=4))
© www.soinside.com 2019 - 2024. All rights reserved.