发布
社区首页 >问答首页 >从大到小对Perl散列进行排序

从大到小对Perl散列进行排序
EN

Stack Overflow用户
提问于 2012-04-19 03:20:34
回答 2查看 17.6K关注 0票数 4

我正在查看这里的一个示例:http://perlmeme.org/tutorials/sort_function.html

它给出了根据每个键的值对散列进行排序的代码:

代码语言:javascript
代码运行次数:0
复制
# Using <=> instead of cmp because of the numbers
    foreach my $fruit (sort {$data{$a} <=> $data{$b}} keys %data) {
        print $fruit . ": " . $data{$fruit} . "\n";
    }

这段代码我不完全理解,但当我尝试它时,它从最低到最高排序。如何将其翻转为从最高到最低排序?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-19 03:21:50

交换$a$b

代码语言:javascript
代码运行次数:0
复制
foreach my $fruit (sort {$data{$b} <=> $data{$a}} keys %data) {
票数 12
EN

Stack Overflow用户

发布于 2012-04-19 03:24:29

只需使用reverse sort而不是sort

foreach my $fruit (reverse sort keys %data) { ...

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10216419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档