标签: perl hash
我想合并hash1和hash2的相同值,并创建第三个散列,hash3的键是hash1的键,hash3的值是hash2的键,用于那些相同的值
%hash3 = ( 0 =>3, 1 => 2, 2 => 1, 3 => 0 );
答案 0 :(得分:1)
reverse %hash2然后使用map将来自%hash1的密钥与以前%hash2的密钥配对:
reverse
%hash2
map
%hash1
my %reversed = reverse %hash2; my %hash3 = map { $_ => $reversed{$hash1{$_}} } keys %hash1;
%hash3包含:
%hash3
{ '1' => '2', '0' => '3', '3' => '0', '2' => '1' };