Footsteps on my way !
perl/linux/测序分析

perl hash按值排序

use strict;
use warnings;
my %hash=(‘a’=>2,’b’=>3,’c’=>1);

#perl中按hash值排序: 按ASCII码排序,代码如下:

foreach my \$key ( sort { \$hash{\$a} cmp \$hash{\$b} } keys %hash ) {
my \$value = \$hash{\$key};
#do something with (\$key, \$value)
}

#如果是按数字小到大排列,则代码如下:

foreach my \$key ( sort { \$hash{\$a} <=> \$hash{\$b} } keys %hash ) {
my \$value = \$hash{\$key};
#do something with (\$key, $value)
}

#如果是按数字大到小排列,则代码如下:

foreach my \$key ( sort { \$hash{\$b} <=> \$hash{\$a} } keys %hash ) {
my \$value = \$hash{\$key};
#do something with (\$key, \$value)
}

按hash KEY排列

foreach my \$item (sort {\$a<=>\$b} keys %hash){
print “\$item  == > \$hash{\$item}”,”/n”;
}

尊重他人劳动成果,转载请注明出处:Bluesky's blog » perl hash按值排序

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址