我想通过在 perl 中交换散列中的键和值来创建一个新的散列。请注意,这样做是为了将重复值的键放入一个数组中,这与 reverse
所做的不同。
我显然可以为此做一个循环。但我不确定它是否可以以紧凑的形式完成,例如使用 map
等。
谢谢。
最佳答案
你可以像这样做一个“紧凑”的循环;
my %orig = # whatever
my %rev;
push @{$rev{$orig{$_}}}, $_ for keys %orig;
请注意,“反向”哈希的所有值都将是数组。
关于perl - 在 perl 中用散列编写交换键和值的最紧凑方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9727071/