python - Why do you need lambda to nest defaultdict? -
i bit confused on why need lambda function nesting defaultdict
why can't this?
test = defaultdict(defaultdict(list)) instead of
test = defaultdict(lambda:defaultdict(float))
test = defaultdict(defaultdict(list)) because defaultdict requires give can called create keys missing values. list such callable, defaultdict(list) not. it's defaultdict instance, , can't call defaultdict.
the lambda function that, when called, returns value can used in dictionary, works.
essentially, defaultdict(list) going evaluated before defaultdict instantiated, , want defer until missing key encountered. why callable object (a type or function) used here.
Comments
Post a Comment