python:SQLAlchemy->;DB.query.all()返回列名

python:SQLAlchemy->;DB.query.all()返回列名,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,我有一个关于SQLAlchemy的小问题,我无法解决。到目前为止,每次运行诸如DB.query.all()之类的查询时,我都会得到如下结果: {'columnName': u'value1'}, {'columnName': u'value2'}, {'columnName': u'value3'}, {'columnName': u'value4'} 所讨论的DB只包含一列,我在dict中返回了它的名称。有没有办法用列表来代替?比如: {'columnName':[u'value1',

我有一个关于SQLAlchemy的小问题,我无法解决。到目前为止,每次运行诸如
DB.query.all()
之类的查询时,我都会得到如下结果:

{'columnName': u'value1'}, 
{'columnName': u'value2'}, 
{'columnName': u'value3'}, 
{'columnName': u'value4'}
所讨论的
DB
只包含一列,我在
dict
中返回了它的名称。有没有办法用
列表来代替?比如:

{'columnName':[u'value1',u'value2',u'value3',3u'value4']}

甚至

[u'value1',u'value2',u'value3',3u'value4']


我不确定从代码中的SQLAlchemy查询返回的内容的确切结构(它是DICT列表吗?)

有没有办法换成一份清单

使用Python列表,您可以非常轻松地提取所需的字段:

>>> rows = [{'columnName': u'value1'}, 
{'columnName': u'value2'}, 
{'columnName': u'value3'}, 
{'columnName': u'value4'}]

>>> [row['columnName'] for row in rows]
[u'value1', u'value2', u'value3', u'value4']

您可以始终对结果集使用列表理解,即对DB.query.all()中的行使用
[row.get('columnName')]

另一个选项是显式筛选字段,即
DB.query(DB.columnName).all()
,然后我认为它应该返回元组列表,而不是字典列表