Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,将元组列表(来自sqlalchemy的响应)中的两个变量拆分和追加为两个变量的最快方法是什么?_Python_Python 3.x_Sqlalchemy - Fatal编程技术网

在Python中,将元组列表(来自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 = (('

这是我的第一个问题,如果这是一个愚蠢的问题,我很抱歉

我有一行(大约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 = (('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
?一个接一个?在这两种情况下都需要索引访问?