首页 > 解决方案 > 根据日期时间对字典内的数组进行排序

问题描述

我想versions根据modified_datetime键对数组进行排序。我绝对可以使用其中一种排序算法来做到这一点,但我只是想知道在 Python 中是否有一种有效的方法来做到这一点。

my_json = {
  "versions": [
    {
      "migrated_versions": [ 
        {
          "modified_datetime": "2020-09-11T21:15:22.215Z"
        }
      ],
    },
    {
      "migrated_versions": [ 
        {
          "modified_datetime": "2020-09-11T21:14:19.162Z"
        }
      ]
    },
    {
      "migrated_versions": [ 
        {
          "modified_datetime": "2020-09-11T21:10:19.289Z"
        }
      ]
    }
  ]
}

标签: pythonarraysjsonpython-3.x

解决方案


由于日期时间是 ISO8601,它是按字典顺序排序的,因此您可以只使用带有参数的sorted()内置(或list.sort()key=

sorted(my_json["versions"], key=lambda v: v["migrated_versions"][0]["modified_datetime"])

推荐阅读