在某些语言中,例如 php,您不需要手动初始化多维数组的每个维度。您只需指定键路径,语言将在需要时自动初始化子数组。
例如,在 php 中我可以做到
$foo = array();
$foo['sub1']['sub2']['sub3'] = 5;
无需手动初始化每一级子数组
$foo = array();
$foo['sub1'] = array();
$foo['sub1']['sub2'] = array();
$foo['sub1']['sub2']['sub3'] = 5;
我知道 python 也提供了这种便利我见过看起来等效的 python 代码,所以我想这个功能有一个名称。
此功能的名称是什么?
请您参考如下方法:
我相信 Perl 中的相应功能称为 autovivification .正如维基百科页面指出的那样,Python 词典默认情况下没有此功能,但是通过使用 collections.defaultdict 可以很容易地构建具有这种行为方式的东西。 .最近看这个blog post一些想法。
