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

时间:2018-04-03 10:24:57

标签: python django python-3.x dictionary ordereddictionary

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

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

1 个答案:

答案 0 :(得分:1)

我会将next与生成器表达式一起使用,如果您事先知道只有一个带有cost_price的条目。

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

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'}