我最接近的是
use PDL;
my $u = pdl [1,2,3,4];
my $dim = 4;
for(my $i=0; $i<$dim; $i++)
{
print $u->flat->index($i), "\n";
}
另外,因为我可以转换[1,2,3,4]
为 piddle $u
,我可以从 中取回一个列表(或矩阵的列表列表)$u
吗?
凭借僧侣的智慧,我找到了答案: http ://perlmonks.org/index.pl?node_id=892201
以为我会在我原来的问题中分享它。上面的代码可以改写为:
use PDL;
my $u = pdl [1,2,3,4];
foreach ($u->dog)
{
print $_, "\n";
}
智慧伴随着免责声明,dog()
仅适用于小问题(对象)。
除了使用 dog 之外,这里还有另外两个使用索引和列表的 1d pdl 选项。还有 index2d
use PDL;
my $a = pdl(1 .. 4);
#use index
print $a->index($_), "\n" foreach (0 .. $a->nelem-1);
#use list
print $_ . "\n" foreach ($a->list);