我对这段运行SQL查询并将结果格式化为dict的代码感到震惊。但结果是作为列表而不是字典返回,我无法理解为什么:
ionViewDidLoad() {
this.conexaoServico.getRemoteUsers('Pegando os usuários').subscribe((data) => {
this.users = data;
console.log(this.users);
});
}
该函数返回格式良好的SQL结果,如: [{'Column1':'123','姓名':'鲍勃','年龄':'39'}]
但是当我明显使用dict关键字时,为什么它是一个列表?是由于[]括号吗?
答案 0 :(得分:2)
result = [dict(zip(columns, row)) for row in cursor]
这一行是一个列表理解 - 它通过迭代row
中的cursor
并为每一行创建一个dict来创建一个列表。因此结果是list
dict
s
我想你会发现这一行
all([isinstance(item, dict) for item in result])
生成True
结果 - 也就是说,列表中的每个项目都是dict