Как добавить значение в многомерный словарь? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть столбец в MySQL «abc», содержащий данные => demo1, demo1, demo2, demo2 и другое значение имени столбца data => abc1, abc2, abc3, abc4, как преобразовать это в словарь типа

    {
       'demo1': {'abc1', 'abc2'},
       'demo2' : {'abc3', 'abc4'}

    }
branch_array = {}

for branch in get_branch:
        branch_array[branch.abc].append( branch.value)

for branch in get_branch:
        branch_array[branch.abc] = branch.value

Но ничего не работает должным образом

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Обратите внимание, что то, что вы называете branch_array = {}, на самом деле является словарем, а не массивом.Для этого ответа я использовал collections.defaultdict, специализированный словарь, который будет создавать значения по умолчанию для пропущенных ключей.

import collections

branch_d = collections.defaultdict(set)
for branch in get_branch:
    branch_d[branch.abc].add(branch.value)
0 голосов
/ 11 июля 2019

Вы также можете достичь этого с помощью основного словаря благодаря setdefault методу

branch_array = {}
for branch in get_branch:
    branch_array.setdefault(branch.abc, []).append(branch.value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...