问题描述
我需要将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')])