perl - 在散列中的小写键值之前对大写字母进行排序

标签 perl sorting hash

我有一个散列,我想根据键进行排序,大写单词出现在小写单词之前。

例子:



吉姆
吉姆

最佳答案

要按顺序获取 key ,请申请 sort在散列的键上使用自定义排序功能。

my %hash = ( JANE => 1, jane => 2, JIM => 3, jim => 4 );
my @sorted_keys = sort {
    lc $a cmp lc $b
        || $a cmp $b
} keys %hash;

custom sort function首先比较字符串,就好像它们具有相同的大小写一样,如果相等,则考虑大小写。

关于perl - 在散列中的小写键值之前对大写字母进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4955086/

相关文章:

JavaScript:优化自定义对象文字的排序

perl - 在 Perl 中,如何过滤目录中的所有日志文件,并提取感兴趣的行?

ios - 如何根据不同 NSArray 中的相同对象顺序将 NSArray 项目分组?

ruby - 当前行以 ^M 结尾时追加文件中的下一行

c# - 如何根据仅包含已更改索引的列表修改列表索引?

c# - 重现 SqlMembershipProvider 密码哈希

perl - 将 Perl 中的匿名 sub 写入文件以供以后使用

hash - 可以将用户的盐与密码哈希保存在同一个表中吗?

perl - 尝试安装 Net::OpenSSH 但取回无效版本的依赖项

linux - Perk Tk 内存泄漏