我有一个看起来像这样的哈希:
{ bmw => { id => 1, color => brown } }
{ mercedes => { id => 2, color => black } }
Run Code Online (Sandbox Code Playgroud)
我想在perl中反转这个哈希,这样我就得到了id => name_of_car的映射.我是否需要以某种方式使用反向功能?
注意:我总是可以遍历原始哈希并在新哈希中相应地分配键和值,我想知道是否有一种更流畅的方式.
小智 6
不需要光滑的方式:
my %h = (
bmw => { id => 1, color => "brown" } ,
mercedes => { id => 2, color => "black" }
);
my %j = map { ($h{$_}{id} => $_) } keys %h;
for (keys %j) {
print "$_ $j{$_}\n";
}
Run Code Online (Sandbox Code Playgroud)
输出:
$ ./silly.pl 1 bmw 2 mercedes
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |