如何在多维词典中增加价值?

时间:2019-07-11 18:46:18

标签: python django

我在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 个答案:

答案 0 :(得分:1)

请注意,您正在调用的branch_array = {}实际上是字典,而不是数组。对于这个答案,我使用了collections.defaultdict,这是一本专门的字典,它将为丢失的键创建默认值。

import collections

branch_d = collections.defaultdict(set)
for branch in get_branch:
    branch_d[branch.abc].add(branch.value)

答案 1 :(得分:0)

借助setdefault方法,您还可以使用基本字典来实现这一目标

branch_array = {}
for branch in get_branch:
    branch_array.setdefault(branch.abc, []).append(branch.value)