Python:Defaultdict,将Defaultdict作为递归默认键

时间:2018-06-22 12:25:10

标签: python defaultdict

我正在寻找一种定义collections.defaultdict(工厂)的方法,该方法针对任意深度的每个键再次返回defaultdict。

例如,

  foo = collections.defaultdict(lambda: *magic with defaultdict* )

这样

>>>> foo['bar']
defaultdict(<function lambda --> defaultdict,...)
>>> foo['bar']['baz']
defaultdict(<function lambda --> defaultdict,...)

无限次。

我尝试了将lambda-defaultdict的深拷贝作为“实际” defaultdict的lambda的更巴洛克的方式

>>> fooDict = collections.defaultdict(lambda: collections.defaultdict(lambda: collections.defaultdict()))
>>> barDict = collections.defaultdict(lambda: collections.defaultdict(lambda: copy.deepcopy(fooDict)))

但是在第四代中却失败了(思考时不足为奇)。

0 个答案:

没有答案