免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: jiang870320
打印 上一主题 下一主题

perl 使用sort怎么实现多字段的数字排序 [复制链接]

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
11 [报告]
发表于 2013-01-10 02:23 |只看该作者
学习了

论坛徽章:
0
12 [报告]
发表于 2013-01-14 10:15 |只看该作者
回复 5# mcshell


01.map{print $_->[0]}sort{$a->[1] <=> $b->[1]}map{[$_,(split(/(\d+)/))[1]]}<DATA>; [1]是啥意思呢?


   

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
13 [报告]
发表于 2013-01-14 10:25 |只看该作者
回复 12# dahe_1984


    数组切片

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
14 [报告]
发表于 2013-01-14 10:50 |只看该作者
回复 12# dahe_1984


    返回多个值的表达式有时你只需要部分,可以用 (EXPR)[3, 1……] 来取部分或者换顺序。 perldata Slices 一节有很多例子

论坛徽章:
0
15 [报告]
发表于 2013-01-14 21:32 |只看该作者
mcshell 发表于 2013-01-09 14:00


map{[$_,(split(/(\d+)/))[1]]}<DATA>这里面的(split(/(\d+)/))[1]分切后,为什么$_->[1]不是变成283)、367)等,而是只有一个数字了啊,大神再指导指导

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
16 [报告]
发表于 2013-01-14 22:23 |只看该作者
回复 15# inchonline
perldoc -f split
...
  If the PATTERN contains parentheses, additional list elements
               are created from each matching substring in the delimiter.

                   split(/([,-])/, "1-10,20", 3);

               produces the list value

                   (1, ’-’, 10, ’,’, 20)
加括号以后会捕获定义的分隔符。前面貌似说过了{:3_204:}


   

论坛徽章:
0
17 [报告]
发表于 2013-01-14 22:43 |只看该作者
回复 16# mcshell

明白了,(split(/(\d+)/))[1]要是写成(split(/(\d+)/))[1,2],那么map{print $_->[2],$/}map{[$_,(split(/(\d+)/))[1,2]]}<DATA>;就会打印一列括号“)”出来了

论坛徽章:
0
18 [报告]
发表于 2014-02-08 15:27 |只看该作者
回复 7# kernel69


    谢谢了,学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP