perl hash 按value/按keys 排序(多种方法)
my%hash=('a'=>2,'b'=>3,'c'=>1); foreachmy$key(sort{$hash{$b}<=>$hash{$a}}keys%hash){ ? ? print$key,"=>",$hash{$key},"n"; } perl中如何将按hash key值排序如果是按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) } ? 按KEY排列 foreach my $item (sort {$a<=>$b} keys %hash){ ?print "$item? == > $hash{$item}","/n"; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |