【发布时间】:2014-05-21 23:17:53
【问题描述】:
请注意,我是一个 Perl 新手。
我正在寻找一个很好的速记来比较两个数组,比如 arrA 和 arrB。
我想知道arrB 中是否有不在arrA 中的元素。
如果重要的话,这些数组中的元素是字符串。
我知道我可以通过遍历数组并使用grep 来完成此操作,但我想知道是否有一个很好的速记方法来执行此操作。缺少我的 Perl-fu。
谢谢!
编辑:这是我正在寻找的内容,以防我在上面不清楚。
my @arrA = ( "aaa", "bbb", "ccc" );
my @arrB = ( "aaa", "bbb", "ccc", "ddd" );
my @BnotA = ();
# Something goes here, help!
print "Elements of arrB that are not in arrA: @BnotA\n";
不过,我对这里的数据结构并不挑剔;如果我可以稍微改变一下结构以提高效率,我就可以做到。
【问题讨论】:
-
你的答案在这里:stackoverflow.com/q/2933347/725418 这也在 perlfaq 中。
-
啊,谢谢。我不知道该叫什么来搜索它……“差异”和“交叉点”是这里的关键。