Если у меня есть вложенный словарь в Python, есть ли способ реструктурировать его по ключам?
Я плохо объясняю, поэтому приведу небольшой пример.
d = {'A':{'a':[1,2,3],'b':[3,4,5],'c':[6,7,8]},
'B':{'a':[7,8,9],'b':[4,3,2],'d':[0,0,0]}}
Реорганизовать таким образом
newd = {'a':{'A':[1,2,3],'B':[7,8,9]},
'b':{'A':[3,4,5],'B':[4,3,2]},
'c':{'A':[6,7,8]},
'd':{'B':[0,0,0]}}
Учитывая некоторую функцию с такими входными данными, как
def mysteryfunc(olddict,newkeyorder):
????
mysteryfunc(d,[1,0])
Где переданный список [1,0] означает поместить словари на 2-е место уровень клавиш на первом уровне и первый уровень на 2-м уровне. Очевидно, что значения должны быть связаны с их уникальными значениями ключа.
Редактировать: Искать ответ, который охватывает общий случай, с произвольной неизвестной глубиной вложенного словаря.