Tôi đang cố gắng thực hiện những việc sau. Tôi có một danh sách được xác định trước để được sử dụng như một "thứ tự" trên một danh sách nhất định.Cách sắp xếp danh sách theo một thứ tự nhất định?
my @orderby = ('car', 'boat', 'chicken', 'cat', 'dog', 'mouse');
or
my %orderby = ('car' => 0, 'boat' => 1, 'chicken' => 2, 'cat' => 3, 'dog' => 4, 'mouse' => 5);
my @list = ('boat', 'car', 'mouse', 'chicken');
Tôi đã thử các cách vô hạn để sắp xếp và tôi không nhận được những gì tôi muốn. Tôi đã tìm kiếm trên google, và ở đây, nhưng tôi đã không tìm thấy câu trả lời.
@list
cần phải được sắp xếp theo cách đó:
sort @list using %orderby
Việc in ấn mà tôi muốn sau khi sắp xếp: mục
car, boat, chicken, mouse
BTW, @list thể đã nhân đôi:
my @list = ('boat', 'car', 'mouse', 'chicken', 'mouse', 'car');
Trong trường hợp đó, bản in cần phải là:
car, car, boat, chicken, mouse, mouse
Các bạn có giải pháp cho điều đó không? hoặc có thể là cách tiếp cận khác. Cảm ơn !!
Re cập nhật của bạn, của tôi các giải pháp xử lý các bản sao. – ikegami
có, tôi đã thử nghiệm điều đó! Thx lần nữa! – Jonathan