如果我有d=dict(zip(range(1,10),range(50,61))),我如何从dict构建collections.defaultdict?唯一的参数defaultdict似乎是工厂函数,我必须初始化,然后通过原始的d和更新defaultdict?
d=dict(zip(range(1,10),range(50,61)))
dict
collections.defaultdict
defaultdict
d
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)
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)
z3yyvxxp3#
你可以通过使用一个可调用函数来创建一个带有字典的defaultdict。
from collections import defaultdict def dict_(): return {'foo': 1} defaultdict_with_dict = defaultdict(dict_)
3条答案
按热度按时间j8ag8udp1#
阅读文档:
第一个参数提供default_factory属性的初始值;默认为None。所有剩余的参数都被视为与传递给dict构造函数相同,包括关键字参数。
或者给定一个字典
d
:gwbalxhn2#
你可以从dict构造一个defaultdict,把dict作为第二个参数传递。
z3yyvxxp3#
你可以通过使用一个可调用函数来创建一个带有字典的defaultdict。