3 回答

TA貢獻2039條經(jīng)驗 獲得超8個贊
這是經(jīng)典的集合差運算,下面的代碼還演示了集合并集、交集的運算,只是沒有輸出結(jié)果,請自行理解,完整代碼如下:
@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";

TA貢獻1890條經(jīng)驗 獲得超9個贊
my %h = ();
++$h{$_} foreach ( @array1, @array2 );
my @array3 = sort keys %h;

TA貢獻1829條經(jīng)驗 獲得超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;
- 3 回答
- 0 關(guān)注
- 694 瀏覽
添加回答
舉報