列表列表中的列表字典

Sea*_*n U 0 python dictionary list

我有一个数据列表列表:

[[1422029700000, 230.84, 230.42, 230.31, 230.32, 378], [1422029800000, 231.84, 231.42, 231.31, 231.32, 379], ...]
Run Code Online (Sandbox Code Playgroud)

和一个键列表:

['a', 'b', 'c', 'd', 'e']
Run Code Online (Sandbox Code Playgroud)

我想将它们组合成一个列表字典,如下所示:

['a': [1422029700000, 1422029800000], 'b': [230.84, 231.84], ...]
Run Code Online (Sandbox Code Playgroud)

我可以使用循环来做到这一点,但我正在寻找一种pythonic方式.

pio*_*kuc 6

这很简单:

In [1]: keys = ['a','b','c']

In [2]: values = [[1,2,3],[4,5,6],[7,8,9]]

In [7]: dict(zip(keys, zip(*values)))
Out[7]: {'a': (1, 4, 7), 'b': (2, 5, 8), 'c': (3, 6, 9)}
Run Code Online (Sandbox Code Playgroud)

如果您需要列表作为值:

In [8]: dict(zip(keys, [list(t) for t in zip(*values)]))
Out[8]: {'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}
Run Code Online (Sandbox Code Playgroud)

要么:

In [9]: dict(zip(keys, map(list, zip(*values))))
Out[9]: {'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}
Run Code Online (Sandbox Code Playgroud)