您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:将defaultdict转换为dict

Python:将defaultdict转换为dict

您可以简单地致电dict

>>> a
defaultdict(<type 'list'>, {'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
<type 'list'>

这就是您print a在字典的数据端出现之前看到的内容

因此,在不实际制作新对象的情况下恢复更多类似dict的行为的另一个技巧是重置default_factory

>>> a.default_factory = None
>>> a[4].append(10)
Traceback (most recent call last):
  File "<ipython-input-6-0721ca19bee1>", line 1, in <module>
    a[4].append(10)
KeyError: 4

但这在大多数情况下都不值得。

python 2022/1/1 18:30:15 有182人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶