在Python中,将元组列表(来自sqlalchemy的响应)中的两个变量拆分和追加为两个变量的最快方法是什么?
这是我的第一个问题,如果这是一个愚蠢的问题,我很抱歉 我有一行(大约1-2米)像下面一样作为sqlalchemy响应在Python中,将元组列表(来自sqlalchemy的响应)中的两个变量拆分和追加为两个变量的最快方法是什么?,python,python-3.x,sqlalchemy,Python,Python 3.x,Sqlalchemy,这是我的第一个问题,如果这是一个愚蠢的问题,我很抱歉 我有一行(大约1-2米)像下面一样作为sqlalchemy响应 rows = ( ('aaa', 'bbb', 'ccc', 'ddd', 1, 2, 1, 2, 1000, 200, 300, 400, 200, 200), ('eee', 'fff', 'ggg', 'hhh', 1, 1, 3, 3, 900, 400, 100, 100, 100, 1000), ... ) 我想重新格式化如下 a = (('
rows = (
('aaa', 'bbb', 'ccc', 'ddd', 1, 2, 1, 2, 1000, 200, 300, 400, 200, 200),
('eee', 'fff', 'ggg', 'hhh', 1, 1, 3, 3, 900, 400, 100, 100, 100, 1000),
...
)
我想重新格式化如下
a = (('aaa', 'bbb', 'ccc', 'ddd', 1, 2, 1, 2),('eee', 'fff', 'ggg', 'hhh', 1, 1, 3, 3), ...)
b = ((1, 2, 1, 2, 1000, 200, 300, 400, 200, 200), (1, 1, 3, 3, 900, 400, 100, 100, 100, 1000), ...)
我想出了这个代码,它将需要6~7秒,1.2m行
a = []
b = []
for r in rows:
a.append(r[:8])
b.append(r[4:])
两个列表的理解速度比上面的慢。1~2秒
a = set(r[:8] for r in rows)
b = tuple(r[4:] for r in rows)
在python中,这是正常速度还是太慢?
有什么解决方案可以加快速度吗?您的基准测试是否包括从db获取数据的时间?如何同时使用
a
和b
?一个接一个?在这两种情况下都需要索引访问?