【问题标题】:Removing defaultdict from print statement [duplicate]从打印语句中删除 defaultdict [重复]
【发布时间】:2022-01-15 08:21:47
【问题描述】:

所以我有一个返回默认字典的自定义函数。这是当前返回值的方式:

defaultdict(<function multi_level_dict at 0x0000014E2E099A60>, {'a': 1, 'b': 2})

我怎样才能把这个值变成:

{'a': 1, 'b': 2} 

最好不使用 for/while 循环。

【问题讨论】:

  • 使用dict(your_default_dict)。请注意,使用 defaultdict 确实没有必要。
  • 你可以创建一个defaultdict 的子类,用dict 替换字符串化逻辑。这甚至适用于递归情况。

标签: python function defaultdict


【解决方案1】:

您可以从defaultdict 构造一个常规的dict

>>> d
defaultdict(<class 'int'>, {'a': 1, 'b': 2})
>>> dict(d)
{'a': 1, 'b': 2}

请注意,如果 dict 是嵌套的,其中一些值本身就是 defaultdicts,则转换顶级 dict 不会对这些嵌套值做任何事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 2018-04-20
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2017-01-18
    • 2017-04-05
    • 1970-01-01
    相关资源
    最近更新 更多