파이썬에서 다음 perl 코드를 복제하려고합니다. 객체는 여러 해시/사전 값별로 정렬 된 해시/사전 키 배열을 얻는 것입니다. 예 펄 코드 : 예상 결과가 그래서 다음 수치 pos
에 의해 전적으로 id
에 의해perl과 동등한 파이썬 hash 값으로 정렬
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";
이 종류, :
item4 item1 item2 item5 item3
이란 무엇입니까 예상되는 출력? – ecatmur
필자는 Perl에 능숙하지 않다 ... 올바르게 이해한다면, 결과는 먼저 'id'로 정렬 된 다음 'pos'로 정렬되어야하며, 항목 4,1,2,5,3을 주는가? – l4mpi
예상 결과 : item4 item1 item2 item5 item3. 그래서 예, 결과는 'id'로 정렬 한 다음 'pos'로 (숫자로) 정렬해야합니다. – wannymahoots