Perl Hash of Hashes,获取最低数字键
Perl Hash of Hashes, get lowest numeric key
我有一个散列的散列,其中第一个键是一个字符串,第二个键是一个整数。我试图在散列的散列中获得最低的第二个键。这是我的哈希。
%HoH = (
flintstones => {
8 => "fred",
4 => "barney",
},
jetsons => {
5 => "george",
1 => "jane",
9 => "elroy", # Key quotes needed.
},
simpsons => {
99 => "homer",
5 => "marge",
3 => "bart",
},
);
如何获得哈希 simpsons
的最低(最小)键?在这种情况下,答案将是 3
。我能找到的最接近的相关搜索是一种获取具有最高值的密钥的方法。但我正在尝试获取具有最低数值的密钥。
==================编辑============我的尝试============ ====
foreach my $cartoon (keys %HoH){
if ($cartoon == "simpsons"){
$HoH{$cartoon}{<numeric key>}; # somehow store and print lowest key
}
}
我无法按顺序循环键(1、2、3、4 等)并简单地存储和 return 最低键,因为键(1、2、3、4、等)可能不存在。我可能会尝试将键存储在一个单独的数组中,并获取存储在该数组中的最小键。那是我的尝试。这是一种循环的方式。由于这是一种迂回的方式,接下来我会做更多的谷歌搜索,看看是否有更简单的方法(一种单行方式)来做到这一点。
use List::Util qw(min);
print min(keys(%{$HoH{simpsons}}));
my $min = (sort {$a <=> $b} keys $HoH{'simpsons'})[0];
print $min;
我有一个散列的散列,其中第一个键是一个字符串,第二个键是一个整数。我试图在散列的散列中获得最低的第二个键。这是我的哈希。
%HoH = (
flintstones => {
8 => "fred",
4 => "barney",
},
jetsons => {
5 => "george",
1 => "jane",
9 => "elroy", # Key quotes needed.
},
simpsons => {
99 => "homer",
5 => "marge",
3 => "bart",
},
);
如何获得哈希 simpsons
的最低(最小)键?在这种情况下,答案将是 3
。我能找到的最接近的相关搜索是一种获取具有最高值的密钥的方法。但我正在尝试获取具有最低数值的密钥。
==================编辑============我的尝试============ ====
foreach my $cartoon (keys %HoH){
if ($cartoon == "simpsons"){
$HoH{$cartoon}{<numeric key>}; # somehow store and print lowest key
}
}
我无法按顺序循环键(1、2、3、4 等)并简单地存储和 return 最低键,因为键(1、2、3、4、等)可能不存在。我可能会尝试将键存储在一个单独的数组中,并获取存储在该数组中的最小键。那是我的尝试。这是一种循环的方式。由于这是一种迂回的方式,接下来我会做更多的谷歌搜索,看看是否有更简单的方法(一种单行方式)来做到这一点。
use List::Util qw(min);
print min(keys(%{$HoH{simpsons}}));
my $min = (sort {$a <=> $b} keys $HoH{'simpsons'})[0];
print $min;