我在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
但是没有正常工作
答案 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)