分页: 1 / 1
在Perl中,两个数组,第二个数组是第一个数组的子集,如何求第二个数组在第一个数组的补集?
发表于 : 2014-03-28 10:03
由 zuiqiangzhe
比如 @A = qw(1 2 3 4 5 );
@B = qw(1 2 3);
如何求@C = qw(4 5);
求指教
Re: 在Perl中,两个数组,第二个数组是第一个数组的子集,如何求第二个数组在第一个数组的补集?
发表于 : 2014-03-29 21:25
由 eexpress
▶ pl '@A = qw(1 2 3 4 5 6); @B = qw(1 2 3); foreach (@A){next if $_ ~~ @B; push @C,$_;}; print @C;'
Smartmatch is experimental at -e line 1.
456
▶ type pl
pl 是 `perl -e' 的别名
Re: 在Perl中,两个数组,第二个数组是第一个数组的子集,如何求第二个数组在第一个数组的补集?
发表于 : 2014-03-29 21:26
由 eexpress
▶ pl '@A = qw(1 2 3 4 5 6); @B = qw(1 2 3); foreach (@A){next if $_ ~~ @B; push @C,$_;}; print @C;'
Smartmatch is experimental at -e line 1.
456
▶ type pl
pl 是 `perl -e' 的别名
Re: 在Perl中,两个数组,第二个数组是第一个数组的子集,如何求第二个数组在第一个数组的补集?
发表于 : 2014-04-21 20:55
由 flfruit
感觉好简单地样子。。。但是我写不出来,哭。。。。
Re: 在Perl中,两个数组,第二个数组是第一个数组的子集,如何求第二个数组在第一个数组的补集?
发表于 : 2014-11-16 23:04
由 45177659
代码: 全选
perl -e '@A = qw(1 2 3 4 5 );@B = qw(1 2 3);@C = grep {not $_ ~~ @B} @A; print join ",",@C'