如何从列表的dict创建dict列表

时间:2014-08-08 09:57:54

标签: python

我有dict

D = {'a': ['1a', '2a', '3a'], 'c': ['1c', '2c', '3c'], 'b': ['1b', '2b', '3b']}

我想将D转换为list的{​​{1}}:

dict

我试过了:

L = [{'a':'1a', 'b': '1b', 'c': '1c'}, {'a':'2a', 'b': '2b', 'c': '2c'}, ...]

我需要更具可读性的解决方案。

1 个答案:

答案 0 :(得分:2)

这个怎么样:

L = [dict(zip(D.keys(), vals)) for vals in zip(*D.values())]

输出:

>>> print L
[{'a': '1a', 'c': '1c', 'b': '1b'}, 
 {'a': '2a', 'c': '2c', 'b': '2b'}, 
 {'a': '3a', 'c': '3c', 'b': '3b'}]