python dicts列表-将每个键值转换为单独的dict

use*_*440 1 python list-comprehension

具有如下所示的列表,其中包含一个或多个字典

l = [{'b': 'h', 'c': (1,2)}, {'d': [0, 1], 'e': {'f': 2, 'g': 'i'} } ]

需要将每个键值对提取为一个单独的字典

预期输出

[{'b': 'h'}, {'c': (1,2)}, {'d': [0, 1]}, {'e': {'f': 2, 'g': 'i'} } ]

我一直试图通过列表理解来做到这一点 - 外部理解可能类似于[ {k,v} for k, v in ??- 需要一些帮助来获得内部理解。

Ósc*_*pez 6

我相信这就是你要找的——除了元素的顺序可能不同,但在处理字典时这是可以预料的:

lst = [{'b': 'h', 'c': (1,2)}, {'d': [0, 1], 'e': {'f': 2, 'g': 'i'}}]
[{k: v} for d in lst for k, v in d.items()]

=> [{'c': (1, 2)}, {'b': 'h'}, {'e': {'g': 'i', 'f': 2}}, {'d': [0, 1]}]
Run Code Online (Sandbox Code Playgroud)