Perl快捷删除数组重复元素
发布时间:2020-12-15 23:41:57 所属栏目:大数据 来源:网络整理
导读:以前写过类似的博客: http://www.voidcn.com/article/p-ckcmibrl-bge.html 今天拿出来,再好好剖析一下: 1. 构造一个含有重复元素的数组 my @arr1 = ( 1 .. 10 ); my @arr2 = ( 5 .. 15 ); # join multi array my @arr = ( @arr1 , @arr2 ); 2. 删除数组中
以前写过类似的博客: http://www.voidcn.com/article/p-ckcmibrl-bge.html 1. 构造一个含有重复元素的数组my @arr1 = (1 .. 10);
my @arr2 = (5 .. 15);
# join multi array
my @arr = (@arr1,@arr2);
2. 删除数组中的重复元素sub removeRepeat {
my $arrRef = shift;
my %count = ();
my @uniqArr = grep { ++$count{$_} == 1 } @$arrRef;
return @uniqArr;
}
完整代码: #!/usr/bin/perl -w
use strict;
use warnings;
use English;
my @arr1 = (1 .. 10);
my @arr2 = (5 .. 15);
# join multi array
my @arr = (@arr1,@arr2);
printArr(@arr);
print "-------------------------------------n";
my @uniqArr = removeRepeat(@arr);
printArr(@uniqArr);
# remove repeat element in array
sub removeRepeat {
my $arrRef = shift;
my %count = ();
my @uniqArr = grep { ++$count{$_} == 1 } @$arrRef;
return @uniqArr;
}
# print array
sub printArr {
my $arrRef = shift;
foreach my $element (@$arrRef)
{
print "$elementn";
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |