加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl的排序和比较

发布时间:2020-12-16 00:16:09 所属栏目:大数据 来源:网络整理
导读:来自:http://www.perlfect.com/articles/sorting.shtml ? perl 比较操作符列表:? Numbers Strings lt gt = le = ge == eq = cmp != ne ? = 和cmp的详细解释: ? Relation of $a and $b Value Returned by $a = $a greater than $b 1 $a equal to $b 0 $a l

来自:http://www.perlfect.com/articles/sorting.shtml

?

perl 比较操作符列表:?

Numbers Strings
< lt
> gt
<= le
>= ge
== eq
<=> cmp
!= ne

?

<=> 和cmp的详细解释:?

Relation of $a and $b Value Returned by $a <=>
$a greater than $b 1
$a equal to $b 0
$a less than $b -1

?

如果你有未排序的 @not_sorted,想得到排序的@sorted:??

@sorted = sort { $a <=> $b } @not_sorted # numerical sort or @sorted = sort { $a cmp $b } @not_sorted # ASCII-betical sort or better @sorted = sort { lc($a) cmp lc($b) } @not_sorted # alphabetical sort

?

Get a list of hash keys sorted by value.

@sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;

Get a reverse sort of a list.

@sorted = sort { $b cmp $a } @list; Which can also be done with @sorted = reverse sort { $a cmp $b } @list;

Get an alphabetical sort of words,but make 'aardvark' always come last.

(Now,why you would want to do that is another question...)

@sorted = sort { if ($a eq 'aardvark') { return 1; } elsif ($b eq 'aardvark') { return -1; } else { return $a cmp $b; } } @words;

?

完!?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读