perl用grep map求交集、并集、補(bǔ)集的實(shí)例代碼
更新時(shí)間:2013年02月01日 00:14:32 作者:
perl 用grep map求交集、并集、補(bǔ)集的例子,有需要的朋友可以參考下
復(fù)制代碼 代碼如下:
#!/usr/bin/perl
#
# 用grep map 獲取兩個(gè)列表的交集并集、補(bǔ)集
#
use strict;
my @a=("a","b","c","d","e");
my @b=("b","g","f","e");
print "列表a數(shù)據(jù): @a \n";
print "列表b數(shù)據(jù): @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的補(bǔ)集@ca,@cb,即@a和@b相對(duì)于@merge的補(bǔ)集
my @ca = grep {!$a{$_}} @merge;
my @cb = grep {!$b{$_}} @merge;
print "\@a的補(bǔ)集:@ca \n";
print "\@b的補(bǔ)集:@cb \n";
相關(guān)文章
在vim中添加perl注釋時(shí)無(wú)法對(duì)齊問(wèn)題的解決方法
在使用vim編輯perl腳本時(shí),每當(dāng)輸入#號(hào)時(shí),#號(hào)都會(huì)跑到行首問(wèn)題,需要的朋友可以參考下2013-02-02Perl腳本實(shí)現(xiàn)檢測(cè)主機(jī)心跳信號(hào)功能
這篇文章主要介紹了Perl腳本實(shí)現(xiàn)檢測(cè)主機(jī)心跳信號(hào)功能,本文代碼也可作為perl串口通信的實(shí)例,需要的朋友可以參考下2014-10-10