【发布时间】:2018-05-10 17:57:52
【问题描述】:
例如,这是我的哈希
'Level1_A' => {
'Level2_A' => 1071,
'Level2_B' => 3429,
'Level2_C' => 3297
},
'Level1_B' => {
'Level2_A' => 702,
'Level2_B' => 726
},
我想要一个看起来像这样的输出
'Level1_A' => {
'Level2_B' => 3429,
'Level2_C' => 3297,
'Level2_A' => 1071
},
'Level1_B' => {
'Level2_B' => 726,
'Level2_A' => 702
},
最终,我想要对应最高值的键。
Level1_A___Level2_B___3429
Level1_B___Level2_A____726
【问题讨论】:
-
请显示不适合您的代码。
-
您的输出来自 Data::Dumper,它只是转储了哈希引用的表示形式。 Perl 中的哈希从不排序。如果需要,您可以按值对键列表进行排序,然后打印键和值对。但 Data::Dumper 与此无关。
-
我的@sorted_keys = sort { $hash{$a} $hash{$b} } 键%hash;
-
您的代码按值对它们进行排序,最低值在前。如果您希望它们反过来,请切换
$a和$b或使用reverse。但目前尚不清楚您的问题是什么。您的%hash是否包含( Level1_a => { Level2_B => 1071, ... }, ... )?请edit您的问题,在其中包含您的代码,并修改实际的数据结构。 -
所以你想要最高值的第二级键?