为了账号安全,请及时绑定邮箱和手机立即绑定

perl 数组对比 删相同元素

perl 数组对比 删相同元素

慕哥9229398 2019-04-12 10:06:12
perl 数组对比 删相同元素
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

这是经典的集合差运算,下面的代码还演示了集合并集、交集的运算,只是没有输出结果,请自行理解,完整代码如下:

@a=('1','2','3','4');
@b=('1','3');

@union=();#并集
@diff=(); #差集
@isect=();#交集

foreach $e(@a,@b){
$union{$e}++&&$isect{$e}++;
}
@union=keys %union;
@isect=keys %isect;
@diff=grep {$union{$_}==1;} @union;

print join(',', @a),"\n";
print join(',', @b),"\n";
print join(',', @diff),"\n";



查看完整回答
反对 回复 2019-04-13
?
当年话下

TA贡献1890条经验 获得超9个赞

my %h = ();
++$h{$_} foreach ( @array1, @array2 );
my @array3 = sort keys %h;

查看完整回答
反对 回复 2019-04-13
?
PIPIONE

TA贡献1829条经验 获得超9个赞

my @array1 = ('aa', 'bb');
my @array2 = ('cc', 'aa');
@array3 = (@array1, @array2);
my %count;
my @array3_new = grep { ++$count{ $_ } < 2; } @array3;
print @array3_new;

或者
@array3 = (@array1, @array2);
foreach my $item ( @array3 ){
if ( ! grep( /$item/, @array3_new ) ){
push( @array3_new, $item );}}
print @array3_new;


查看完整回答
反对 回复 2019-04-13
  • 3 回答
  • 0 关注
  • 654 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信