我正在尋找在python中複製下面的perl代碼。該對象是獲取由多個散列/字典值排序的散列/字典鍵的數組。例如Perl代碼:python相當於perl按哈希值排序
my $hash = {
'item1'=> {'id'=>'a', 'pos'=>6},
'item2'=> {'id'=>'a', 'pos'=>7},
'item3'=> {'id'=>'b', 'pos'=>4},
'item4'=> {'id'=>'a', 'pos'=>5},
'item5'=> {'id'=>'b', 'pos'=>2},
};
my @keys = sort {
$hash->{$a}->{id} cmp $hash->{$b}->{id} ||
$hash->{$a}->{pos} <=> $hash->{$b}->{pos}
} keys %$hash;
print "@keys\n";
這種種由id
詞彙,然後通過pos
數值,因此,預期的結果是:
item4 item1 item2 item5 item3
什麼預期產出? – ecatmur
我不是那麼流利的perl ...如果我理解正確,結果應該先按'id'然後按'pos'排序,給項目4,1,2,5,3? – l4mpi
預期結果:item4 item1 item2 item5 item3。所以是的,結果應該按'id'然後按'pos'(數字)排序。 – wannymahoots