如何检索SQLAlchemy结果集的python列表?

时间:2012-11-01 19:38:11

标签: python sqlalchemy

我有以下查询来检索单列数据:

routes_query = select(
    [schema.stop_times.c.route_number],
    schema.stop_times.c.stop_id == stop_id
).distinct(schema.stop_times.c.route_number)
result = conn.execute(routes_query)

return [r['route_number'] for r in result]

我想知道是否有更简洁的方法来检索返回的数据行的本机列表。

2 个答案:

答案 0 :(得分:42)

将1元素元组列表拉入列表的最简洁方法是:

result = [r[0] for r in result]

或:

result = [r for r, in result]

答案 1 :(得分:3)

这就是我要用的:

return zip(*result)[0]

zzzeek的答案中的列表理解方法(22个字符而不是29个或31个字符)更简洁,对于更大的结果集,this answer中类似问题的时间表明它也更快。 / p>