Ваш вопрос имеет все, что в списке, так что если вы хотите получить список dicts:
l1= [[1422029700000, 230.84, 230.42, 230.31, 230.32, 378], [1422029800000, 231.84, 231.42, 231.31, 231.32, 379]]
l2 = ['a', 'b', 'c', 'd', 'e',"f"] # added f to match length of sublists
print([{a:list(b)} for a,b in zip(l2,zip(*l1))])
[{'a': [1422029700000, 1422029800000]}, {'b': [230.84, 231.84]}, {'c': [230.42, 231.42]}, {'d': [230.31, 231.31]}, {'e': [230.32, 231.32]}, {'f': [378, 379]}]
Если вы действительно хотите в Используйте Dict в Словаре понимание с молнией:
print({a:list(b) for a,b in zip(l2,zip(*l1))})
{'f': [378, 379], 'e': [230.32, 231.32], 'a': [1422029700000, 1422029800000], 'b': [230.84, 231.84], 'c': [230.42, 231.42], 'd': [230.31, 231.31]}
У вас также есть список ключей короче, чем длина ваших подписок, поэтому zipping на самом деле означает, что вы проиграете значений от вашего подсписок, поэтому вы можете обратиться к этому.
Если вы используете python2 вы можете использовать itertools.izip
:
from itertools import izip
print({a:list(b) for a,b in izip(l2,zip(*l1))
Простой и элегантный. –
Спасибо, исправил ответ. – piokuc
Обновленный ответ работает отлично, спасибо –