gpt4 book ai didi

python - 如何遍历 defaultdict 创建的字典?

转载 作者:行者123 更新时间:2023-11-28 23:00:24 32 4
gpt4 key购买 nike

我正在迭代使用以下内容创建的字典。

 tree = defaultdict(partial(defaultdict, partial(defaultdict, list)))
for dt, hour, value in flat_list:
tree[dt][hour]=[]
tree[dt][hour].append(value)

我的输出看起来像这样:

 for k,v in tree.iteritems():
2012-08-07 defaultdict(<functools.partial object at 0x1e0a050>, {'17': ['30']})
2012-08-24 defaultdict(<functools.partial object at 0x1e0a050>, {'3': ['70']})

我如何摆脱这些东西?我如何像普通字典一样迭代?:

defaultdict(<functools.partial object at 0x1e0a050>

最佳答案

您已经像常规字典一样迭代默认字典,但您也在打印默认字典表示。

要像打印普通字典一样打印这些,只需将它们变回一个:

 for k,v in tree.iteritems():
print k, dict(v)

请注意,defaultdictdict 的直接子类,除了更新的 __getitem__ 行为和更新的 __repr__ hook1,一个 defaultdict 的行为完全就像一个普通的 dict 一样,当然在迭代时。

1__copy____deepcopy__ 也被覆盖,在使用 copy 时创建一个新的 defaultdict 模块。出于同样的原因,为 pickle 模块提供了自定义 __reduce__

关于python - 如何遍历 defaultdict 创建的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12108186/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com