为什么Python 3x返回列表而不是dict?

时间:2017-05-09 21:13:02

标签: python python-3.x

我对这段运行SQL查询并将结果格式化为dict的代码感到震惊。但结果是作为列表而不是字典返回,我无法理解为什么:

ionViewDidLoad() {
    this.conexaoServico.getRemoteUsers('Pegando os usuários').subscribe((data) => { 
       this.users = data;
       console.log(this.users);
    });
}

该函数返回格式良好的SQL结果,如: [{'Column1':'123','姓名':'鲍勃','年龄':'39'}]

但是当我明显使用dict关键字时,为什么它是一个列表?是由于[]括号吗?

1 个答案:

答案 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