Hash invert in Ruby?

后端 未结 8 1869
星月不相逢
星月不相逢 2021-01-13 00:27

I\'ve got a hash of the format:

{key1 => [a, b, c], key2 => [d, e, f]}

and I want to end up with:

{ a => key1, b =         


        
8条回答
  •  情深已故
    2021-01-13 01:09

    new_hash={}
    hash = {"key1" => ['a', 'b', 'c'], "key2" => ['d','e','f']}
    hash.each_pair{|key, val|val.each{|v| new_hash[v] = key }}
    

    This gives

    new_hash # {"a"=>"key1", "b"=>"key1", "c"=>"key1", "d"=>"key2", "e"=>"key2", "f"=>"key2"}
    

提交回复
热议问题