инвертирование хэша

Мне интересно, какой самый эффективный способ преобразовать хеш в другой хеш, как показано ниже :

{
D1 -> [ A
        B
        C
      ]
D2 ->  [ A
         B
       ]
D3 -> [ C
        A
      ]
}

Я хотел бы создать еще один такой хеш.

{
A - > [ D1
        D2
        D3
      ]

B ->  [ D1
        D2
      ]
C -> [ D1
       D3
     ]
}

Я попробовал сначала : найти уникальные термины в хеш-ключах, (1 для цикла) , затем: создать хэш, в котором все эти уникальные термины являются ключевыми третье: пройти через каждый уникальный и каждый ключ, если он существует, добавить его в (2 цикла for) в сумме 3 цикла, в которые я не верю является наиболее эффективным способом

0
задан user702846 1 November 2011 в 15:02
поделиться