登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

Perl去掉数组中重复的元素 及判断元素是否在数组中  

2016-10-28 13:17:28|  分类: perl&bioperl |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.去重复

#!/usr/bin/perl

use strict;

my %hash;
my @array = (1..10,5,20,2,3,4,5,5);
#grep 保存符合条件的元素
@array = grep { ++$hash{$_} < 2 } @array;

print join(" ",@array);
print "\n";

2 判断元素是否在数组中

数组中没有类似hash的简单exists函数

A:

print "EXIST\n" if $value~~@array;

B:

print "EXIST\n" if grep {$value == $_ } @array;

C:使用类似c语言的风格,遍历这个数组,查找变量是否匹配。
foreach ( @arr)
{
if( $vv eq $_ )
{
print "$vv\n"
}
}

D:使用map,查找数组中是否含有该变量
map { if($vv eq $_) { print "$vv\n"} } @arr;

E:使用grep,查找数组中是否含有该变量
print( grep /^$vv$/, @arr );
F:

用grep

例如:

#!/usr/bin/perl

@array = ("str1", "str2" ) ;

$item = "str3";

if ( grep { $_ eq $item } @array) {

    print "Have \n" ;

} else {

    push @array , $item ;

    print "Not have \n" ;

}

print "@array"."\n" ;


  评论这张
 
阅读(1228)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018