Python 根据子列表中项目的顺序将列表列表转换为字典列表

Python 根据子列表中项目的顺序将列表列表转换为字典列表,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,我想将我的列表转换为字典列表。第一个列表的值应该是我的键,其余的所有值都应该被视为值 例如: [['a','b','c'],[1,2,3],[4,5,6],[7,8,9]] 应转换为 [{'a':[1,4,7]}, {'b': [2,5,8]},{'b': [3,6,9]}] 我找到了,但对我没有帮助 任何帮助都将不胜感激。谢谢使用zip将数组转换为[('a',1,4,7),…];将第一个元素作为键弹出,将其余元素作为值列出 arr = [['a','b','c'],[1,2,3],[4,5

我想将我的列表转换为字典列表。第一个列表的值应该是我的键,其余的所有值都应该被视为值

例如:

[['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]
应转换为

[{'a':[1,4,7]}, {'b': [2,5,8]},{'b': [3,6,9]}]
我找到了,但对我没有帮助


任何帮助都将不胜感激。谢谢

使用
zip
将数组转换为
[('a',1,4,7),…]
;将第一个元素作为键弹出,将其余元素作为值列出

arr = [['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]
[{ e[0]: list(e[1:])} for e in zip(*arr)]
# => [{'a': [1, 4, 7]}, {'b': [2, 5, 8]}, {'c': [3, 6, 9]}]

使用序列解包的列表理解:

L = [['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]

res = [{names: nums} for names, *nums in zip(*L)]

print(res)

[{'a': [1, 4, 7]}, {'b': [2, 5, 8]}, {'c': [3, 6, 9]}]
输出:

[{'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}]

啊,是的,我没注意到,这是一个不寻常的结构。好啊编辑:修正了。但目录列表并不是那么不寻常@ᴀʀᴍᴀɴdict列表,不。但是,单键值dict列表比一个dict更不常见。我困了:P
[{'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}]