python list按 两个字段排序

 
 
[
    {
      "m": "01",
      "v": 0.019,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-28 00:00:00",
      "stringTime": "2021-03-28",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.019799999999999998,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-31 00:00:00",
      "stringTime": "2021-03-31",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.0203,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-07 00:00:00",
      "stringTime": "2021-03-07",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.022099999999999998,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-25 00:00:00",
      "stringTime": "2021-03-25",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.021599999999999998,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-27 00:00:00",
      "stringTime": "2021-03-27",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.0202,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-19 00:00:00",
      "stringTime": "2021-03-19",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.0207,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-11 00:00:00",
      "stringTime": "2021-03-11",
      "flag": null
    },
    {
      "m": "01",
      "v": 0.022,
      "dq": 0,
      "ts": null,
      "pf": null,
      "time": "2021-03-17 00:00:00",
      "stringTime": "2021-03-17",
      "flag": null
    }]

先按time排序,再按m排序。

def takeSecond(elem):
  return elem["time"]

def takeone(elem):
  return elem["m"]

if __name__ == '__main__':
    #print "排序前:\n"

      b.sort(key=lambda x:(takeSecond,takeone))
      print "排序后:\n",
      print_json(b)

 

posted @ 2021-04-14 11:25  yoyoma0355  阅读(112)  评论(0编辑  收藏  举报