天天看点

python defaultdict转list_Python:将defaultdict转换为dict

你可以简单地调用dict:

>>> a

defaultdict(, {'1': ['b', 'a'], '3': ['b'], '2': ['a']})

>>> dict(a)

{'1': ['b', 'a'], '3': ['b'], '2': ['a']}

但记住一个defaultdict是一个dict:

>>> isinstance(a, dict)

True

只是稍有不同的行为,当你尝试访问一个缺少的键 – 这通常会引发一个KeyError – 而不是调用default_factory:

>>> a.default_factory

这是你在字典的数据面出现之前打印时看到的。

所以另一个骗子来获得更多的独立行为,而不实际创建一个新对象是复位default_factory:

>>> a.default_factory = None

>>> a[4].append(10)

Traceback (most recent call last):

File "", line 1, in

a[4].append(10)

KeyError: 4

但大多数时候这是不值得的麻烦。