利用 Perl 比较两个数组

一月 30, 2013

这需要使用一个模块,叫做 List::Compare, 利用它新建一个对象,并导入你想比较的两个数组。

my @array_a = (1,3,6,7,8);
my @array_b = (3,0,8,9);

# 新建一个对象用于比较
my $lc_obj = List::Compare->new(\@array_a, \@array_b);

然后就可以进行各种操作了:

(1)取交集(取两个数组中都出现过的元素)

my @intersection = $lc_obj->get_intersection; # 得到 3,8

(2)取并集(取两个数组中至少出现过一次的元素)

my @union = $lc_obj->get_union; # 得到 0,1,3,6,7,8,9

(3)取只在第一个(左边)数组中出现而第二个数组中没有的元素

my @L_only = $lc_obj->get_Lonly; # 得到 1,6,7

(4)取只在第二个(右边)数组中出现而第一个数组中没有的元素

my @R_only = $lc_obj->get_Ronly; # 得到 0,9

当然,这个模块的功能还不止这些,以上列出了比较常用的四个功能,更多的功能大家可以去查看这个模块的说明文档。

posted in Perl by billzt

Follow comments via the RSS Feed | Leave a comment | Trackback URL

说点什么

1 评论 在 "利用 Perl 比较两个数组"

提醒
排序:   最新 | 最旧 | 得票最多
游客

太专业 看不懂啊 😮 😮

wpDiscuz
 

Copyright © 2010-2017 | Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org