私が持っている場合はd=dict(zip(range(1,10),range(50,61)))、私が構築できるかcollections.defaultdictのうちにdict?
唯一の議論defaultdictはファクトリ関数です。初期化してから元の関数を調べてd更新する必要がありdefaultdictますか?
回答:
最初の引数は、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)
Noneことで不明なキーに対してNoneが生成されることを意味するわけではなく、キーをまったく使用しないためです。あなたがする必要があるdefaultdict(lambda: None, {....})
dictを2番目の引数として渡すことにより、dictからdefaultdictを作成できます。
from collections import defaultdict
d1 = {'foo': 17}
d2 = defaultdict(int, d1)
print(d2['foo']) ## should print 17
print(d2['bar']) ## should print 1 (default int val )
default_dict = defaultdict(None,{"a":1,"b":{"c":3}})たとえばdefault_dict["e"]、KeyErrorを発生させ、代わりにNoneを返します