python 如何从一个字典中构造一个defaultdict?

bttbmeg0  于 2023-10-15  发布在  Python
关注(0)|答案(3)|浏览(110)

如果我有d=dict(zip(range(1,10),range(50,61))),我如何从dict构建collections.defaultdict
唯一的参数defaultdict似乎是工厂函数,我必须初始化,然后通过原始的d和更新defaultdict

j8ag8udp

j8ag8udp1#

阅读文档:
第一个参数提供default_factory属性的初始值;默认为None。所有剩余的参数都被视为与传递给dict构造函数相同,包括关键字参数。

from collections import defaultdict
d=defaultdict(int, zip(range(1,10),range(50,61)))

或者给定一个字典d

from collections import defaultdict
d=dict(zip(range(1,10),range(50,61)))
my_default_dict = defaultdict(int,d)
gwbalxhn

gwbalxhn2#

你可以从dict构造一个defaultdict,把dict作为第二个参数传递。

from collections import defaultdict

d1 = {'foo': 17}
d2 = defaultdict(int, d1)

print(d2['foo'])  ## should print 17
print(d2['bar'])  ## should print 0 (int() returns 0)
z3yyvxxp

z3yyvxxp3#

你可以通过使用一个可调用函数来创建一个带有字典的defaultdict。

from collections import defaultdict

def dict_():
    return {'foo': 1}

defaultdict_with_dict = defaultdict(dict_)

相关问题