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 ??- 需要一些帮助来获得内部理解。
我相信这就是你要找的——除了元素的顺序可能不同,但在处理字典时这是可以预料的:
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)