4

我最接近的是

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吗?

4

2 回答 2

4

凭借僧侣的智慧,我找到了答案: http ://perlmonks.org/index.pl?node_id=892201

以为我会在我原来的问题中分享它。上面的代码可以改写为:

use PDL;
my $u = pdl [1,2,3,4];
foreach ($u->dog)
{
  print $_, "\n";
}

智慧伴随着免责声明,dog()仅适用于小问题(对象)。

于 2011-03-11T14:08:45.453 回答
4

除了使用 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);
于 2011-08-18T13:43:06.387 回答