Как создать вложенный словарь и динамически добавлять данные

У меня есть цикл, дающий мне три переменные

matteGroup
matteName
object

Я бы хотел бы создать вложенный словарь, содержащий все данные, например:

dictionary{matteGroup: {matteName: obj1, obj2, ob3} }

Я проверяю объекты один за другим, поэтому я хотел бы создать matteGroup , если он не существует, создать matteName , если он не существует, а затем создать или добавить имя объекта. Я пробовал много решений, таких как обычные словари, defaultdict и некоторые настраиваемые классы, которые я нашел в сети, но я не смог сделать это должным образом. У меня хорошее вложение, которое я не могу добавить, или наоборот.

Это цикл

    dizGroup = {}
    dizName = {}

    for obj in mc.ls(type='transform'):
        if mc.objExists(obj + ('.matteGroup')):
            matteGroup = mc.getAttr(obj + ('.matteGroup'))
            matteName = mc.getAttr(obj + ('.matteName'))

            if matteGroup not in dizGroup:
                dizGroup[matteGroup] = list()
            dizGroup[matteGroup].append(matteName)

            if matteName not in dizName:
                dizName[matteName] = list()
            dizName[matteName].append(obj)

, в котором я получаю два словаря по отдельности, но это не так полезно! Есть подсказка?

Спасибо

5
задан Tim Pietzcker 9 January 2012 в 13:41
поделиться