尝试将OrderedDict列表转换为Dictionary键值Python

问题描述

我需要将ordereddict转换为字典键值。

 test = [OrderedDict([('key','value'),('name','A'),('value','5')]),OrderedDict([('key','B'),'10')]),'C'),'25')])]here


Desired Output:
{'A': '5','B': '10','C': '25'}

解决方法

您的test本质上是词典列表。这些词典中的每一个都有一个键'name'(我们想作为输出中的键)和一个键'value'(我们想作为输出中的值)。因此,我们只需要使用dict理解来迭代test包含的dict,然后将每个变量转换为单个键值对。

output = {od['name']: od['value'] for od in test}
# {'A': '5','B': '10','C': '25'}

如果您希望输出OrderedDict,则可以将生成器理解提供给构造函数:

output_od = OrderedDict((od['name'],od['value']) for od in test)
# OrderedDict([('A','5'),('B','10'),('C','25')])