×

perl数组元素个数

perl数组元素个数(perl 数组中如何删除元素)

admin admin 发表于2023-04-12 19:18:03 浏览75 评论0

抢沙发发表评论

本文目录

perl 数组中如何删除元素


1. 用grep函数
函数名 grep
调用语法 @foundlist = grep (pattern, @searchlist);
解说 与同名的UNIX查找工具类似,grep函数在列表中抽取与指定模式匹配的元素,参数pattern为欲查找的模式,返回值是匹配元素的列表。
例子 @list = (“This“, “is“, “a“, “test“);
@foundlist = grep(/^[tT]/, @list);
结果 @foundlist = (“This“, “test“);
2. 用map函数
函数名 map
调用语法 @resultlist = map (expr, @list);
解说 此函数在Perl5中定义,可以把列表中的各个元素作为表达式expr的操作数进行运算,其本身不改变,结果作为返回值。在表达式expr中,系统变量$_代表各个元素。
例子
1、@list = (100, 200, 300);
@results = map ($_+1, @list);
2、@results = map (&mysub($_), @list);
结果 1、(101, 201, 301)
2、无
3. 用splice或者delete
函数名 splice
调用语法 @retval = splice (@array, slipelements, length, @newlist);


perl如何打印数组中的一段


#上面的写法可以
@array=(1..50);
print @array[30..50];
#或者也可以这样:
@array=(1..50);
for $i (30..50) {print $array[$i];}

perl 判断数组是否有某个元素


可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如:
var arr = [1,2,3];
arr.indexOf(1); // 返回0
arr.indexOf(5); // 返回-1
附:返回值为数组中的最靠前元素在数组的位置

perl数组和整数直接做加减法是什么意思


这个问题专业术语就是: perl中的上下文(context)的问题。perl中分 列表上下文 和 标量上下文 2种。perl会根据上下文的种类来得到相应的值。
比如:数组在 列表上下文中得到元素的列表, print “@num\n“ ;得到一系列数字。而 在标量上下文, 比如 单独赋值或者 数学运算加减等情况下就是标量上下文, perl返回数组的元素的个数!比如: $len_of_nums = @nums; 或者你上面的例子。
更详细的说明可以看《Perl语言入门》的上下文的专门讲解了。

perl中数组最大能达到多大


理论上, perl 数组可以有 2,147,483,648 (2**31) 个元素为上限. 然後就看您有多少内存了! 每个元素的指针会吃掉 4 byte 的记忆体, 再乘以您每个元素的资料, 就是这个数组会吃掉的记忆体. 简言之, 够您用了!

perl 怎么计算数组中相同数字的个数


while(《》){
    chomp;
    unless(/^M/){
        @tmp=split;
        $count{$tmp}++;##统计第一列数字个数
    }
 }
 print “$count{1}\n“;##1的个数
 
 
 你的代码没贴完 不知道到底是哪里。。

用perl实现,得到一个数组中重复次数最多的元素


代码我试了是可以的,没有采用返回,而是用打印的方式输出的

sub getmaxocc
{
($input)=@_;
for(@$input)
{
$occ{$_} +=1;
}
$maxocc = (sort {$b 《=》 $a} values %occ);
while(my($k,$v)=each%occ){
if($v == $maxocc )
{
print “$k “;
}
}
}
getmaxocc( [1,2,2,3,3,3,4,4,4] );