2

在某些语言中,例如 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 代码,所以我认为这个功能有一个名称。

此功能的名称是什么?

4

1 回答 1

3

我相信 Perl 中的相应功能称为autovivification。正如维基百科页面所指出的那样,Python 字典默认情况下没有此功能,但通过使用collections.defaultdict很容易构建以这种方式运行的东西。有关一些想法,请参阅此最近的博客文章

于 2012-06-13T17:15:27.673 回答