perl中,实现两个集合的运算很简单,只需几行代码即可
-
@a=('a'..'c',1..3);
-
@b=('A'..'C',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 ',',@union);
-
print "\n";
-
print (join ',',@isect);
-
print "\n";
-
print (join ',', @diff);
输出:
-
A,a,3,B,2,c,1,C,b
-
1,3,2
-
A,a,B,c,C,b
相关链接: