【问题标题】:Alphabetizing a list of hash keys in perl?在perl中按字母顺序排列哈希键列表?
【发布时间】:2013-05-19 00:42:22
【问题描述】:

我想创建一个数组来存储按字母顺序排列的哈希键列表。我试过这个方法:

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

...但事实证明这会返回一个按值排序的哈希键列表(而我想要一个按字母顺序排序的哈希键列表)。

有什么建议吗?

【问题讨论】:

    标签: perl sorting hash alphabetical


    【解决方案1】:
    my @sorted = sort { $a cmp $b } keys %hash;
    

    或者只是

    my @sorted = sort keys %hash;
    

    【讨论】:

    • 啊,是的,感谢您向我展示了两种方式,这有助于从概念上了解表达式的简化程度
    【解决方案2】:

    哈希键只是字符串:

    @sorted = sort keys %hash;
    

    【讨论】:

      【解决方案3】:
      foreach my $key ( sort {$a cmp $b} keys %hash) {
      
      # do something ..
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-06
        • 2020-03-29
        • 1970-01-01
        • 2022-01-19
        • 2018-09-15
        相关资源
        最近更新 更多