如何将sql查询结果存储到字典对象中

时间:2016-01-09 06:30:12

标签: python sql dictionary

我的SQL查询结果如下:

result = [['a',21/1/2015,2],['a',22/1/2015,3],['b',21/1/2015,2],['b',22/1/2015,2],['b',24/1/2015,1],['b',26/1/2015,9],['b',27/1/2015,8],['b',28/1/2015,5],['b',21/1/2015,2]]

每个子列表(或行)中的第一个元素最多可出现7次。我想将结果存储在字典对象中,使得字典对象的每个元素都将键作为子列表中的第一个元素,值将是最大值为7的列表,值为每个子列表中的第三个元素。例如:

{'a' : [2,3,0,0,0,0,0],'b':[2,2,1,9,8,5,2]}

我该怎么做?

1 个答案:

答案 0 :(得分:2)

d = {}
for x in result:
    d.setdefault(x[0], [] ).append(x[2])
for x in d:
    while len(d[x]) < 7:
        d[x].append(0)