Это мой первый вопрос здесь, и если это глупый вопрос, извините.
У меня есть строки (около 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,2 м строк.
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? какие-либо решения, чтобы ускорить это?