gpt4 book ai didi

python - 如何将 defaultdict(Set) 转换为 defaultdict(list)?

转载 作者:太空狗 更新时间:2023-10-30 02:18:09 30 4
gpt4 key购买 nike

我有一个defaultdict(Set):

from sets import Set
from collections import defaultdict
values = defaultdict(Set)

我希望在构建它时使用 Set 功能来删除重复项。下一步我想将其存储为 json。由于 json 不支持此数据结构,我想将数据结构转换为 defaultdict(list) 但是当我尝试时:

defaultdict(list)(values)

我得到:TypeError: 'collections.defaultdict' object is not callable,我应该如何进行转换?

最佳答案

您可以使用以下内容:

>>> values = defaultdict(Set)
>>> values['a'].add(1)
>>> defaultdict(list, ((k, list(v)) for k, v in values.items()))
defaultdict(<type 'list'>, {'a': [1]})

defaultdict构造函数将 default_factory 作为第一个参数,后面可以跟普通 dict 中相同的参数。在这种情况下,第二个参数是一个生成器表达式,它返回包含键和值的元组。

请注意,如果您只需要将其存储为 JSON,普通 dict 就可以了:

 >>> {k: list(v) for k, v in values.items()}
{'a': [1]}

关于python - 如何将 defaultdict(Set) 转换为 defaultdict(list)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212808/

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