我有以下查询来检索单列数据:
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]
我想知道是否有更简洁的方法来检索返回的数据行的本机列表。
答案 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>