如何按值项的顺序处理python字典项?

时间:2016-07-31 18:39:28

标签: python json sorting dictionary

我从Web服务获得以下JSON。如何从Python中的以下JSON获取有序集合。我想按“订单”编号的升序处理键值对。

{
  "key1": {
    "order": 10,
    "name": "somenameZ"
  },
  "key2": {
    "order": 3,
    "name": "somenameY"
  },
  "key3": {
    "order": 8,
    "name": "somenameX"
  }
}

1 个答案:

答案 0 :(得分:3)

使用自定义键对dict.items()结果进行排序:

ordered = sorted(outerdict.items(), key=lambda kv: kv[1]['order'])
for key, item in ordered:
    # ...

如果您只需要嵌套字典而不是外键,则可以对dict.values()执行相同的操作:

ordered = sorted(outerdict.values(), key=lambda v: v['order'])
for item in ordered:
    # ...