首页 > 解决方案 > 并行遍历字典中所有键的值中的列表?

问题描述

你好我有一个看起来像这样的python字典:

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

有什么方法可以遍历这个字典,以便我在所有键中按顺序获取所有列表值中的每个项目?请记住,我没有pandas可用的包。

例如:

loop 1 output: a:1,b:3,c:6
loop 2 output: a:2,b:4,c:7
loop 3 output: a:3,b:5,c:8

您可以假设字典中所有键的列表长度都相同。

标签: python

解决方案


作为单行

result = [dict(zip(d.keys(), v)) for v in zip(*d.values())]

或者,如果您想将事情分开以使其更清晰

keys, values = d.keys(), list(zip(*d.values()))
result = [dict(zip(keys, v)) for v in values]

推荐阅读