perl数组排序(perl 数组排序)

Perl是一个存储标量值的列表变量。变量可以是不同的类型。该数组以@开头。访问数组元素以$+变量名+[索引值]的格式读取,示例如下:例子#!/usr/bin/perl@hits = (25,30,40);@ names =(\ ”谷歌\ ”, \”runoob \ & # 8221, \”淘宝\ ”);打印\ ...

Perl是一个存储标量值的列表变量。变量可以是不同的类型。

该数组以@开头。访问数组元素以$+变量名+[索引值]的格式读取,示例如下:

例子

#!/usr/bin/perl@hits = (25,30,40);@ names =(\ ”谷歌\ ”, \”runoob \ & # 8221, \”淘宝\ ”);打印\ ”\ $ hits[0]= $ hits[0]\ n \ ”;打印\ ”\ $ hits[1]= $ hits[1]\ n \ ”;打印\ ”\ $ hits[2]= $ hits[2]\ n \ ”;打印\ ”\ $ names[0]= $ names[0]\ n \ ”;打印\ ”\ $ names[1]= $ names[1]\ n \ ”;打印\ ”\ $ names[2]= $ names[2]\ n \ ”;

程序中的$符号用\进行转义,这样就可以按原样输出。

执行上面的程序,输出结果是:

$ hits[0]= 25 $ hits[1]= 30 $ hits[2]= 40 $ names[0]= Google $ names[1]= runoob $ names[2]=淘宝创建数组

变量以@符号开始,元素用括号括起来。您也可以定义以qw开头的数组。

@array = (1,2,‘你好’);@array = qw/这是数组/;第二个数组使用qw//操作符,它返回一个字符串列表,数组元素用空点阵分隔。当然,你也可以用多行来定义一个数组:

@ days = qw/Google Taobao …run OOB/;还可以通过索引为数组赋值,如下所示:

$ array[0]= ‘周一’;…$ array[6]= ‘周日’;访问数组元素

访问数组元素以$+变量名+[索引值]的格式读取,示例如下:

例子

@sites = qw/google淘宝run OOB/;打印\ ”$ sites[0]\ n \ ”;打印\ ”$ sites[1]\ n \ ”;打印\ ”$ sites[2]\ n \ ”;打印\ ”$ sites[-1]\ n \ ”;#负数,反过来读

执行上面的程序,输出结果是:

googletaobaorunoobrunoob数组的索引值从0开始,即0是第一个元素,1是第二个元素,以此类推。

从负数反过来读,-1是第一个元素,-2是第二个元素。

数组序列号

Perl提供了可以顺序输出的数组形式,格式为起始值+..+结束值。例子如下:

例子

#!/usr/bin/perl@var_10 = (1..10);@var_20 = (10..20);@var_abc = (a..z);打印\ ”@ var _ 10 \ n \ ”#输出1到10打印\ ”@ var _ 20 \ n \ ”#输出10到20张照片\ ”@ var _ abc \ n \ ”#输出a到z

执行上面的程序,输出结果是:

1 3 4 5 6 7 8 9 1010 11 12 13 14 15 17 18 19 20a c d e f g h I j k l m n o p q r s t u v w x y z数组大小

数组的大小由数组中的标量上下文决定。:

@array = (1,2,3);打印\ ”数组大小:\ ”,标量@数组,\ ”\ n \ ”数组的长度返回数组的物理大小,而不是元素的数量。我们可以看看下面的例子:

例子

#!/uer/bin/perl@array = (1,2,3);$ array执行上面的程序,输出结果是:= 4;$ size = @ array$ ***x _ index = $ # array打印\ ”数组大小:$ size \ n \ ”打印\ ”最大索引:$ ***x _ index \ n \ ”

执行上面的程序,输出结果是:

数组大小:51最大索引:50从输出结果可以看出,只有四个数组元素,但是数组大小是51。

添加和删除数组元素。

Perl提供了一些有用的函数来添加和删除数组元素。

如果你以前没有编程经验,你可能会问什么是函数。其实我们之前用的print就是一个输出函数。

下表列出了数组中常用的运算函数:

序号类型和描述

1push @ARRAY,LIST

将列表中的值放在数组的末尾。

2pop @阵列

弹出数组的最后一个值并返回。

3移位@阵列

弹出数组的第一个值并返回。数组的索引值也依次减一。

4unshift @数组,列表

将列表放在数组的前面,并返回新数组中元素的数量。

例子

#!/usr/bin/perl#创建一个简单的数组@ sites =(\ ”谷歌\ ”,\”runoob \ & # 8221,\”淘宝\ ”);打印\ ”1.\ @ sites = @ sites \ n \ ”#在数组末尾添加元素push(@ sites,”百度\ ”);打印\ ”2.\ @ sites = @ sites \ n \ ”#在数组的开头添加一个未移位的元素(@ sites,\ ”微博\ ”);打印\ ”3.\ @ sites = @ sites \ n \ ”#删除数组末尾的元素pop(@ sites);打印\ ”4.\ @ sites = @ sites \ n \ ”#删除数组开头的元素shift(@ sites);打印\ ”5.\ @ sites = @ sites \ n \ ”

执行上面的程序,输出结果是:

切割阵列

我们可以剪切一个数组,并在剪切后返回新的数组:

例子

#!/usr/bin/perl @ sites = qw/google淘宝runoob weiboqq facebook网易/;@sites2 = @sites[3,4,5];打印\ ”@ sites2 \ n \ ”

[50]

微博qq facebook数组索引需要指定有效的索引值,可以是正数后跟负数。每个索引值由逗号分隔。

如果是连续索引,可以使用..要指明指定的范围:

例子

#!/usr/bin/perl @ sites = qw/google淘宝runoob weiboqq facebook网易/;@sites2 = @sites[3..5];打印\ ”@ sites2 \ n \ ”

执行上面的程序,输出结果是:

微博qq facebook替换数组元素

用splice()函数替换Perl中的数组元素,语法格式如下:

Splice @ array,offset [,length [,list]]参数描述:

@ARRAY:要替换的数组。

偏移量:起始位置。

LENGTH:要替换的元素的数量。

列表:替换元素列表。

以下示例从第6个元素开始替换数组中的5个元素:

例子

#!/usr/bin/perl@nums = (1..20);打印\ ”前者–@ nums \ n \ ”拼接(@nums,5,5,21..25);打印\ ”更换后–@ nums \ n \ ”

执行上面的程序,输出结果是:

前者–1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20更换后–1 3 4 5 21 22 23 24 25 11 12 13 15 16 17 18 19 20将字符串转换为数组

split()函数用于将Perl字符串转换为数组,语法格式如下:

分割[模式[,EXPR [,限制]]]参数的描述:

模式:分隔符,默认值为空。

EXPR:指定字符串的数量。

LIMIT:如果指定了该参数,则返回该数组中元素的数量。

例子

#!/usr/bin/perl#定义字符串$ var _ test = \ & # 8221runoob \ ”$ var _ string = \ & # 8221***-run OOB-com \ ”;$ var _ names = \ & # 8221google,淘宝,runoob,微博\ ”;# string into array @ test = split(”,$ var _ test);@ string = split(‘-‘,$ var _ string);@ names = split(‘,’,$ var _ names);打印\ ”$ test[3]\ n \ ”;# output oprint \ & # 8221$ string[2]\ n \ ”;#输出压缩\ ”$ names[3]\ n \ ”;#输出微博

执行上面的程序,输出结果是:

Ocomweibo将数组转换为字符串。

使用join()函数将Perl数组转换为字符串,语法格式如下:

连接EXPR的说明,列表参数:

EXPR:连接器。

列表:列表或数组。

例子

#!/usr/bin/perl#定义字符串$ var _ string = \ & # 8221***-run OOB-com \ ”;$ var _ names = \ & # 8221google,淘宝,runoob,微博\ ”;# string into array @ string = split(‘-‘,$ var _ string);@ names = split(‘,’,$ var _ names);# array into string $ string 1 = join(‘-‘,@ string);$ string 2 = join(‘,’,@ names);打印\ ”$ string1 \ n \ ”打印\ ”$ string2 \ n \ ”

执行上面的程序,输出结果是:

Www-runoob-comgoogle,淘宝,runoob,微博数组排序

Perl中的数组排序使用sort()函数,语法格式如下:

排序[子程序]列表参数说明:

子程序:指定一个规则。

列表:列表或数组。

例子

#!/usr/bin/perl#定义数组@ sites = qw(谷歌淘宝runoob脸书);打印\ ”上一个:@ sites \ n \ ”# Sort数组@ sites = Sort(@ sites);打印\ ”上一个:@ sites \ n \ ”

执行上面的程序,输出结果是:

排序前:google淘宝runoob facebook排序前:facebook google runoob淘宝注意:数组排序基于ASCII数值。所以在对数组排序时,我们最好先把每个元素转换成小写再排序。

特殊变量:$ [

特殊变量$[表示数组的第一个索引值,通常为0。如果我们将$[设置为1,数组的第一个索引值为1,第二个索引值为2,依此类推。例子如下:

例子

#!/usr/bin/perl#定义数组@ sites = qw(谷歌淘宝runoob脸书);打印\ ”网址:@ sites \ n \ ”#将数组的第一个索引设置为1 $[= 1;打印\ ”\ @ sites[1]:$ sites[1]\ n \ ”;打印\ ”\ @ sites[2]:$ sites[2]\ n \ ”;

执行上面的程序,输出结果是:

网址:Google淘宝Runoob脸书@ sites [1]: Google @ sites [2]:淘宝一般情况下,我们不建议使用特殊变量$ [,该变量在新版本的Perl中已经被抛弃。

合并数组

数组的元素用逗号分隔。我们也可以使用逗号来合并数组,如下所示:

例子

#!/usr/bin/perl@numbers = (1,3,(4,5,6));打印\ ”numbers = @ numbers \ n \ ”

执行上面的程序,输出结果是:

Numbers = 1 3 4 5 6您还可以在一个数组中嵌入多个数组,并将它们合并到主数组中:

例子

#!/usr/bin/perl@odd = (1,3,5);@even = (2,4,6);@ numbers =(@奇数,@偶数);打印\ ”numbers = @ numbers \ n \ ”

执行上面的程序,输出结果是:

Numbers = 1 3 5 2 4 6从列表中选择一个元素

列表可以用作数组,通过在列表后指定索引值可以读取指定的元素,如下所示:

例子

#!/usr/bin/perl$var = (5,4,3,2,1)[4];打印\ ”var的值为= $ var \ n \ & # 8221

执行上面的程序,输出结果是:

var的值= 1。同样,我们可以使用..在数组中读取指定范围内的元素:

例子

#!/usr/bin/perl@list = (5,4,3,2,1)[1..3];打印\ ”list的值= @ list \ n \ ”

执行上面的程序,输出结果是:

list的值= 4 3 2 Perl标量

Perl 哈希

本文来自暮以随然投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/562774.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-25
下一篇 05-25

相关推荐

  • java创建数组的几种方式 java编写图形界面程序

    数组是一组具有相同数据类型的数据。作为对象,new关键字允许用于内存分配。首先,熟悉一维数组的创建和使用。有两种方法可以声明一维数组:元素类型数组名称[];元素类型[]数组名称;元素类型决定数组的数据类型,在java中可以是任意数据类型,声明一个一维数组,比如int arr

    2023-07-27 04:07:01
    981 0
  • php数组排序 php常用数组函数和用法

    4.2数组排序PHP中的数组实际上是一个有序映射。无论是队列、数组、堆栈还是字典,用PHP编程时都可以统一使用PHP的数组类型。在这一节中,我们只讨论PHP数组的排序,因为数组的排序会被很多项目使用。虽然数据库也可以方便的排序,但是在复杂动态的业务规则下,需要在PHP代码层

    2023-07-22 07:26:01
    605 0
  • java生成随机字符串数组 java代码大全及详解

    Java语言规范、API、JDK和IDE的含义:Java语言规范是Java语法和语义的技术定义,API是应用程序接口(Java预定义的类和接口),Java开发工具包(JDK)包含软件库、编译器、解释器等工具,集成开发环境(IDE)提供编辑、编译、调试和在线帮助功能。Java平台版本:Java SE:允许开发和部

    2023-07-18 17:14:01
    711 0
  • js中数组添加元素的方法 js数组里面放键值对

    今天,我们来学习如何将一个元素添加到一个元素的第一个元素中。1.Array.unshift()let fruits = ["Apple", "Banana", "Mango"];fruits.unshift("Orange");console.log(fruits);// Prints ["Orange", "Apple", "Banana", "Mango"] fruits.unshift("Guava", "Papaya");

    2023-07-07 09:48:01
    872 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信