从数据库中,我得到了以下格式的结果:
result = ([('A', 210L), ('B', 1L), ('C', 269L)], 3)
我需要在Python中将其更改为:
[{'description':'A','sum':210},{'description':'B','sum':1},{'description':'C','sum':269}]
我尝试了各种选择,但没有得到我需要的。。你知道吗
rows = len(result[0])
description_sum = {}
all_descriptions_sums = []
for i in range(rows):
description_sum['description'] = result[0][i][0]
description_sum['sum'] = int(result[0][i][1])
all_descriptions_sums.append(description_sum)
return all_descriptions_sums
结果是:
[{'description':'C','sum':269},{'description':'C','sum':269},{'description':'C','sum':269}]
因此,在步骤all_descriptions_sums.append(description_sum)
中,字典不仅会附加到列表中,而且还会重写以前的值。。你知道吗
非常感谢你的帮助!你知道吗
以下代码将解决您的问题:
一旦您对上述内容感到满意,我们可以将上述内容缩短为两行:
您需要将描述和移动到for循环。你知道吗
你可以使用列表理解,让它更清楚,因为其他答案建议。你知道吗
你可以使用列表理解:
但是如果不想,代码中的错误是在循环之前初始化字典。您必须在每次迭代中重新声明它,如下所示:
相关问题 更多 >
编程相关推荐