0

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

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


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

1 回答 1

0

test本质上是一个字典列表。这些字典中的每一个都有一个 key 'name',我们希望它成为输出中的键,以及一个 key 'value',我们希望它成为输出中的值。因此,我们可以只使用字典推导来遍历 包含的字典test,并将每个字典转换为单个键值对。

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')])
于 2020-09-09T18:33:44.163 回答