首页 > 解决方案 > 在python中列出多个单独的字典?

问题描述

假设我有一个清单:

l = [1, 7, 2, 4, 3, 2, 4, 1, 4, 3]

我将如何循环以列出多个单独的字典?

newl = [{1:7}, {2:4}, {3:2}, {4:1}, {4:3}]

标签: pythonpython-3.xloopsdictionary

解决方案


我的方法是在列表理解中初始化字典,该列表理解遍历偶数和奇数元素:

 l = [1, 7, 2, 4, 3, 2, 4, 1, 4, 3]

 newl = [{k: v} for k, v in zip(l[::2], l[1::2])]

 #  [{1: 7}, {2: 4}, {3: 2}, {4: 1}, {4: 3}]

如果性能很重要,请注意@Netwave 的评论:此处创建了两个可以避免的附加列表(请参阅此处的答案)。


推荐阅读