perl用grep map求交集、并集、补集的实例代码
perl用grep map求交集、并集、补集的实例代码
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/usr/bin/perl##用grepmap获取两个列表的交集并集、补集#usestrict;my@a=("a","...

复制代码 代码如下:

#!/usr/bin/perl

#

# 用grep map 获取两个列表的交集并集、补集

#

use strict;

my @a=("a","b","c","d","e");

my @b=("b","g","f","e");

print "列表a数据: @a n";

print "列表b数据: @b n";

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

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

my @c = map{$_ => 1} @a; # => 操作符起到了hash赋值的作用

# @a @b 交集

my @inter = grep {$a{$_}} @b; # 求交集

print "交集:@inter n";

# @a,@b 并集

my %merge = map {$_ => 1} @a,@b; # 求并集

my @merge = keys (%merge);

print "并集:@merge n";

# @a,@b的补集@ca,@cb,即@a和@b相对于@merge的补集

my @ca = grep {!$a{$_}} @merge;

my @cb = grep {!$b{$_}} @merge;

print "@a的补集:@ca n";

print "@b的补集:@cb n";

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新perl学习
热门perl学习
脚本专栏子分类