Python 元组列表到dict列表

Python 元组列表到dict列表,python,Python,我有一张这样的清单 [[('a', 'b'), ('c', 'd')], [('e', 'f'), ('g', 'h')]] 我希望输出像一个字典列表 [{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}] 如何解析它以获得输出?一种方法是使用包含内部词典词典理解的列表理解: l = [ [('a' , 'b'), ('c' , 'd')] , [('e' , 'f') , ('g' , 'h')] ] [{k:v for k,v in i} for i

我有一张这样的清单

[[('a', 'b'), ('c', 'd')], [('e', 'f'), ('g', 'h')]]
我希望输出像一个字典列表

[{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]

如何解析它以获得输出?

一种方法是使用包含内部词典词典理解的列表理解:

l = [ [('a' , 'b'), ('c' , 'd')] , [('e' , 'f') , ('g' , 'h')] ]

[{k:v for k,v in i} for i in l]
# [{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]

或者直接使用
dict
构造函数进行映射:

list(map(dict, l))
# [{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]

请注意,最后一个方法的作用是作为
dict
接受iterables,其中iterable中的每个项都是自己的iterables,正好有两个对象,就是这种情况。

尝试以下列表:

>>> l = [ [('a' , 'b'), ('c' , 'd')] , [('e' , 'f') , ('g' , 'h')] ]
>>> [dict(k) for k in l]
[{'a': 'b', 'c': 'd'}, {'e': 'f', 'g': 'h'}]

您可以使用
dict()

将元组列表(每个元组都有一对项)直接放入字典中,因为@hyperTrashPanda可能是重复的。算法完全不同。可能重复