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

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

例如:

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

应该转换为

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

我找到了这个,但它对我没有帮助..

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


回首忆惘然
浏览 258回答 3
3回答

暮色呼如

用于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]}]

jeck猫

使用带有序列解包的列表推导式: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=[['a','b','c'],[1,2,3],[4,5,6],[7,8,9]]  dictionary_values=[dict([(a[0][i],list(zip(*a[1:])[i])) for i in range (len(a)-1)])]输出:[{'a': [1, 4, 7], 'b': [2, 5, 8], 'c': [3, 6, 9]}]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python