在两个数组中查找唯一值 - Perl

时间:2013-04-25 14:36:52

标签: perl unique

我有两个数组@results和@ results2,它们之间有大量的数字。例如(12345678 182937439 18329741等)

在两个阵列中,如果我将它们组合起来,我可能会得到我不想要的重复。我想比较两个数组,保持唯一值并一个接一个地打印出来。

任何帮助,请不胜感激......

2 个答案:

答案 0 :(得分:1)

因此重复数组。此代码借用List::MoreUtils uniq函数:

sub uniq {
    my %seen;
    grep { !$seen{$_}++ } @_;
}

my @unique = uniq(@results, @results2);

答案 1 :(得分:0)

每当你认为“独特”想“哈希”

#!/usr/bin/perl

use strict;
use warnings;

my @a = qw(1 2 3);
my @b = qw(3 4 5);

my %x = map { $_ => 1 } @a, @b;

print join ", ", keys %x; # 4, 1, 3, 2, 5