数组操作- reverse sort each 操作
reverse
reverse 操作符会读取列表(也可能来自数组),并按相反的次序返回该列表。
@fred = .. ;
@barney = reverse(@fred); # 得10,9,8,7,6
@wilma = reverse .. ; # 同上,但不需要额外的数组
@fred = reverse @fred ; # 将逆序后的结果放回原来的数组
reverse会返回次序相反的列表,但它并不会修改传进来的参数。
假如返回值无处可去,那这种操作也就变得毫无意义:
reverse @fred; #错误 不会修改@fred的值
@fred = reverse @fred; #这才正确
sort 操作符
sort操作符会读取列表的值(可也能来自数组),而且会根据内部的字符编码顺序对它们进行排序。
@rocks = qw/ bedrock slate rubble granite/;
@sorted = sort(@rocks); # bedrock granite rubble slate
@back = reverse sort @rocks ; # 将排序从slate到bedrock排列
@rocks = sort @rocks; # 将排序后的结果存到@rocks
@numbers= sort .. ; # 得100,101,102,97,98,99
sort 和reverse 一样不会修改参数,所以对数组排序时,你必须将排序后的结果保存回数组。
each 操作符
从perl 5.12版开始,已经可以针对数组使用each操作符了。但在此前,each只能用于提取哈西键值对。
针对数组调用each,会返回数组中下一元素所对应的两个值,该元素的索引以及该元素的值
use 5.012;
my @rocks= qw /bedrock slate rubble granite/;
while(my($index,$value) = each @rocks){
say "$index:$value";
}
数组操作- reverse sort each 操作的更多相关文章
- Java基础(5):试用Array类对数据进行操作(Sort和toString方法)
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等 1. 排序 语法: Arrays.sort(数 ...
- JavaScript面试技巧之数组的一些不low操作
本文主要从应用来讲数组api的一些骚操作; 如一行代码扁平化n维数组.数组去重.求数组最大值.数组求和.js排序.对象和数组的转化等: 上面这些应用场景你可以用一行代码实现? 1.扁平化n维数组 1. ...
- MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...
- 通过数组和枚举简化GPIO操作编码
在工作中,经常遇到大量使用GPIO作为数字量输入输出来控制设备或采集状态,每次定义操作不同的GPIO针脚既麻烦又容易出错,于是就想要简化操作过程.对于数字量输入来说就是采集对应针脚的状态:而输出则是根 ...
- 树状数组区间加法&区间求和操作
树状数组区间加法&区间求和操作 一般的树状数组解决区间加&单点询问并不复杂 但是要解决区间求和... 我们假设原数组是\(\{a_i\}\),差分数组\(\{d_i=a_i-a_{i- ...
- 通过数组和枚举简化GPIO操作编码(转)
源: 通过数组和枚举简化GPIO操作编码
- 数组进行多少次OP操作,才干有序
1 题目描写叙述: 有一个数组:2,1,4,3.对于数组,有一种操作op(idx):将该index相应的数字移到首位.比方: op(3): 2 1 43 -> 3 2 1 4 op(1): ...
- 谈谈Python中列表、元组和数组的区别和骚操作
一.列表(List) 1.列表的特点 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔.如 L = [1,2,3], 列表a有3个成员. 列表是可变的数据类型[可进行增删改查],列表中可以包 ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
随机推荐
- (转)ASP.NET MVC路由配置
一.命名参数规范+匿名对象 1 routes.MapRoute(name: "Default", 2 url: "{controller}/{action}/{id}&q ...
- DirectDraw
一.DirectDraw接口 DirectDraw接口图如下: 1.IUnknown:所有COM对象都必须从这个基本接口派生 2.IDirectDraw:这是开始使用DirectDraw时必须创建的主 ...
- unity3d shader之God Ray上帝之光
又是一个post-process后期效果,god ray 上帝之光,说起上帝之光就是咱们再看太阳时太阳周围一圈的针状光芒先放组效果,本文的场景资源均来自浅墨大神,效果为本文shader效果 加入了前篇 ...
- Apache+PHP 环境上传文件配置
打开php.ini 配置文件,查找 File Uploads ,在这个区域有以下3个选项: file_uploads = On 是否允许HTTP文件上传.默认值为On允许HTTP文件上传,此选项不能设 ...
- A*寻路算法的探寻与改良(二)
A*寻路算法的探寻与改良(二) by:田宇轩 第二部分:这部分内容主要是使用C语言编程实现A*, ...
- MongoDB简单操作
Hadoop核心技术厂商Cloudera将在2014/06推出hadoop Ecosystem与MongoDB的整合产品,届时MongoDB与ipmala及hbase,hive一起用; 开源linux ...
- AndroidStudio 快捷键使用
经常使用快捷键使用搜集 1. Ctrl+D: 集合了复制和粘贴两个操作,假设有选中的部分就复制选中的部分.并在选中部分的后面粘贴出来,假设没有选中的部分.就复制光标所在的行.并在此行的以下粘贴出来. ...
- switch-case参数类型
switch语句用法: 0. switch语句由一个控制表达式和多个case标签组成 1. switch控制表达式支持的类型有byte.short.char.int.enum(JDK5).String ...
- 移动前端之 zepto
移动前端之 zepto http://qtown.corp.qunar.com/media/video/detail?id=1084&type=1&title=%E5%86%AF%E5 ...
- linux与Windows共享文件配置
linux与Windows共享文件配置: 1.进入超级用户:$su root 2.启动tftp服务器:#netstat -a | grep tftp,出现如图所示的消息表示tftp服务器已安装成功: ...