将等长列表字典转换为字典列表

时间:2017-11-17 16:32:43

标签: python dictionary defaultdict

我想编写一个能够将列表字典转换为字典列表的函数。

EX: {' a':[1,2,3],' b':[3,2,1]} => [{' a':1,' b':3},{' a':2,' b':2},{ ' a':3,' b':1}]

我遇到的问题是如何在不知道第一个字典的总长度的情况下对此进行编码,并且能够从函数中删除所有硬编码值。

我的直觉是尝试使用默认用法,但这似乎没有帮助。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:-1)

拉链值和拉链键+该拉链中的每个项目:

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

[dict(zip(d.keys(),i)) for i in zip(*d.values())]

结果:

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