我使用以下代码在 @{$index}
中的索引处排除 @{$x}
中的元素。但我不确定这是实现此功能的最有效方法。大家有什么更好的办法吗。
sub arrayexclude {
my $x = shift;
my $index = shift;
my @keep_index = (0 .. (scalar(@{$x})-1));
delete @keep_index[@{$index}];
my $result=[];
for my $i (@keep_index) {
if(defined $i) {
push @{$result}, @{$x}[$i];
}
}
return $result;
}
最佳答案
除了array slice之外,您不需要任何东西。 ,所以我会避免为此创建一个子项目。
my @wanted = @array[@indices];
如果您正在使用数组引用,则适用相同的方法:
my @wanted = @{$array}[@$indices];
关于arrays - 在 Perl 中通过索引从数组中排除元素的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002809/