谁能告诉我如何将数组的重复元素推送到新数组? 这是我到目前为止所拥有的,我想再次将重复的元素保留到一个新数组中。
%seen = ();
@uniq = ();
foreach $item (@list) {
unless ($seen{$item}) {
$seen{$item} = 1;
push(@uniq, $item);
}
}
print "@unique\n";
最佳答案
总是以 use strict;
和 use warnings;
开始你的脚本。
use strict ;
use warnings ;
my @list = ( 1 .. 10 , 2 , 5 , 6 ) ;
my %seen = ();
foreach my $item (@list) {
$seen{$item}++ ;
}
my @uniq = grep { $seen{$_} == 1 } keys %seen ;
my @not_unique = grep { $seen{$_} > 1 } keys %seen ;
简单地计算散列中元素的每次出现,然后使用 grep。
关于perl - 如何将数组的重复元素推送到新数组perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11427680/