如何访问有序字典中的键值

How to access key values in ordered dictionary

如何访问此有序字典中的值。我想访问 cost_price 中的值,即 0.92。

OrderedDict([('0', OrderedDict([('cost_price', '0.92'), ('quantity', '0'), ('sell_price', '1.69'), ('text', '6oz')]))])

如果您事先知道您的 cost_price.

只有一个条目,我会使用带有生成器表达式的 next

如前所述,这与普通词典没有什么不同。

from collections import OrderedDict

d = OrderedDict([('0', OrderedDict([('cost_price', '0.92'), ('quantity', '0'), ('sell_price', '1.69'), ('text', '6oz')]))])

res = next((d[i] for i in d if d[i]['cost_price'] == '0.92'), None)

结果:

OrderedDict([('cost_price', '0.92'),
             ('quantity', '0'),
             ('sell_price', '1.69'),
             ('text', '6oz')])

要通过键获取所有 cost_price 值:

res = {k: d[k]['cost_price'] for k in d}

# {'0': '0.92'}