首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

删除数组中相同元素的几种方法

作者:  时间: 2010-10-15
1.利用grep删除

my @a=(1,2,1,2,1,2,1,3);
my %hash;
my @b = grep { ++$hash{$_} < 2 } @a;
print @b;


2.利用Hash的key的唯一性

my %hash;
my @a=(1,2,2,3);
@hash{@a}=();
my @b=keys %hash;
print @b;


3.遍历数组,智能匹配

my @a=(1, 2, 3, 2);
foreach (0 .. $#a)
{
  my $elem = shift(@a);
  push(@a, $elem) if (not $elem ~~ @a);
}

print @a;