Конвертировать список кортежей в словарь списков
Коллеги, есть вопрос по оптимизации. Дан список кортежей, например:
a = [(1,5,6), (7,8,9), (10,12,4)]
Сразу оговорюсь, что в реале кортежей миллионы и в каждом кортеже семь элементов, а данный пример, это только пример, для простоты восприятия.
Надо преобразовать этот список кортежей в словарь списков, таким образом чтобы все нулевые элементы кортежей стали одним списком, первые элементы - следующим списком, третьи - следующим... Ключи будут заданы вручную. Вот так:
a_d = {'key1':[1,7,10], 'key2':[5,8,12], 'key3':[6,9,4]}
Я знаю как решить эту задачу с помощью Pandas
. Как-то так:
import pandas as pd
a = [(1,5,6), (7,8,9), (10,12,4)]
a_d = {key: list(val) for key, val in dict(pd.DataFrame(a, columns=['key1', 'key2', 'key3'])).items()}
Вопросов два:
- Есть ли способ решить эту задачу с помощью базового Питона и стандартных библиотек без перебора всех элементов. Может есть какой-то стандартный метод/функция, который я упускаю.
- Будет ли этот способ быстрее чем описанный выше способ через
Pandas
?
Спасибо.