【发布时间】:2017-07-30 00:49:18
【问题描述】:
我有一个嵌套散列如下
$hash{$key1}{$key2}{$key3} = value;
my %hash = (
name1 => {
a => { line => 4, page => 112 },
b => { line => 6, page => 134 },
c => { line => 1, page => 112 }
},
name2 => {
a => { line => 43, page => 112 },
b => { line => 12, page => 134 },
c => { line => 55, page => 112 }
}
)
我想根据line 中的升序值对key2 进行排序。即name1应该有key2排列为c、a、b和name2应该有b、a、c的顺序。
我知道散列总是给出随机对,但是有没有办法对值进行系统排列以获得排序的键?
【问题讨论】:
-
您可以在使用散列时动态排序,以生成您可能需要存储或迭代的列表。你试过sort吗?围绕 SO 有很多帖子展示了如何通过复杂数据结构的不同部分、复杂和/或多个标准等进行更复杂的排序。