#python #arrays #json #python-3.x
#python #массивы #json #python-3.x
Вопрос:
Я хотел бы отсортировать свой 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"
}
]
}
]
}
Ответ №1:
Поскольку datetimes — это ISO8601, который можно сортировать лексикографически, вы можете просто использовать sorted()
встроенный (или list.sort()
) с key=
аргументом:
sorted(my_json["versions"], key=lambda v: v["migrated_versions"][0]["modified_datetime"])