作者gohiei (真是无聊的...)
看板perl
标题Re: [问题] 关於排序
时间Sat Jul 21 14:01:33 2007
※ 引述《abliou (Art of Life)》之铭言:
: : 推 handsomegirl:前面栏位不固定的问题,split可以从後面切回来吗? 07/20 10:42
: 照L大的概念重写一遍...找出往後算回会固定也是不错的idea...
: ####################################################
: @data = map { substr $_ ,10 }
: sort
: map { [split/ /,$_]->[-3].$_ } @data;
: print $_,$/ foreach(@data);
: ####################################################
贡献一个,
print
map { $_->[1] }
sort { $a->[0] cmp $b->[0] }
map { [(split /\s+/)[1] , $_ ] } @data;
基本上和大家的做法差不多了,
不过我是采用 [ ],这个技巧好像在 Perl Cookbook 有看过,
而且有特殊名称,可惜我忘记了
这样子可以省略掉最後必须 substr,
在 Cookbook 也有提过 split 和 substr 的效率并不是很好
所以能省就尽量省吧!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.240.172.81
1F:推 david220:(split /\s+/)[1] => (split /\s+/)[-3] 07/21 15:39
2F:推 LiloHuang:你这个是史瓦兹转换 这个效能会比我的那个GRT字串差... 07/21 15:40
3F:→ LiloHuang:substr效率基本上算快的了 GRT精神在於substr XD 07/21 15:41
4F:→ LiloHuang:这两者的比较你可以Google一下 GRT快史瓦兹2倍速度左右 07/21 15:42
5F:推 LiloHuang:另外刚刚我实在翻不到Cookbook哪一页说substr效率不好 07/21 16:13
6F:→ LiloHuang:可否请你说明一下是在哪一页看到的 谢谢^^ 07/21 16:13