在某些语言中,如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代码看起来是等价的,所以我觉得这个功能有一个名字。
此功能的名称是什么?
答案 0 :(得分:3)
我相信Perl中的相应功能称为autovivification。正如维基百科页面指出的那样,默认情况下Python字典没有此功能,但通过使用collections.defaultdict可以很容易地构建一些行为方式。有关一些想法,请参见最近的blog post。