czpx.net
当前位置:首页 >> 关于pErl数组抽取的问题 >>

关于pErl数组抽取的问题

sub randomElem { my ($want, @array) = @_ ; my (%seen, @ret); while ( @ret != $want ) { my $num = abs(int(rand($#array))); if ( ! $seen{$num} ) { ++$seen{$num}; push @ret, $array[$num]; } } return @ret; }my @array = ( 'A'..'Z' )...

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH. 负值索引就是从后面依次取数组的索引,依次是(-1,-...

可以试一下这几种方式,每种方式各有优劣: #!/bin/perl -w use strict; my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组 my $vv = "ddd"; # 这个是要查找的变量 # 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹...

具体函数我不清楚是否可以直接实现,但是可以通过变相实现。 #!/usr/bin/perl -w use strict; my $string = "China"; my @Array; for(my $i = 0; $i < length($string); $i++){ $Array[$i] = substr($string,$i,1); } for(my $i = 0; $i < @Arra...

判断数值是否是空数组可以采取if(@array),如果为假就不是空数组。也可以用if(!defined $array[0])判断,即如果数组@array中第一个元素$array[0]没有定义,那么这就是个空数组。 如果要将一个数组@array元素清空,可以直接把空数组()赋值过去即...

合并数组数组的话: @e= (@a,@c); 结果是:@e= (aa ,bb,cc,ee,ff gg) 如果合并后,个数不变的话按下面做: for (my $i=0;$i>@a;$i++){ $e[$i]=$a[$i].$c[$i]; } 结果是:@e= (aaee,bbff,ccgg) 希望能帮到你埃

可以看个例子$str ="abc12abc34ccccabc56";@m = $str =~/(abc\d+)/g;print "@m";

sub choose(){ my (@c1, @c2, @c3); @c1 = @_; @c2 = sort @_; @c3 = reverse @_; return (\@c1,\@c2,\@c3); } my @arr = (1,2,3,5,4); my (@a,@b,@c); my @refs = &choose(@arr); @a = @{$refs[0]}; @b = @{$refs[1]}; @c = @{$refs[2]}; print...

不是很难的。 use 5.010; while(){ given ($_) { when (/Average/){/Average:\s*(\d+)\s*ms/;push @array,$1} when (/:/){/:\s*(\d.*$)/;push @array,$1} } } print "@array\n"; ===================== 4.63096770016667 3.0622202247192263 7.3...

最起码有N种方法,我四年不看perl了,忘了很多,以前水平一个语句就能解决问题。现在只能用最笨的方法两层循环,效率较差。 my $k,$i,$j; open (OUTFILE, ">>输出.fasta"); for($i=0;$i

网站首页 | 网站地图
All rights reserved Powered by www.czpx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com