Как отсортировать список дат и времени в словаре? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть словарь с 3 ключами и их значениями в виде списка дат и времени.Я пытаюсь отсортировать списки дат и времени от самых старых до самых новых, но я не совсем уверен, как их отсортировать.Есть ли простой способ и быстрый способ сортировки этих списков даты и времени?

commits_dict = {
    'Jordan McCullough': ['2014-11-07, 18:27:19', '2014-11-05, 20:00:35', '2014-11-05, 19:59:55'],
    'Peter Bell': ['2013-06-18, 19:34:38', '2014-11-05, 15:33:57'],
    'Matthew McCullough': ['2012-08-31, 20:35:43', '2012-08-31, 00:00:50', '2012-07-25, 05:25:20']
}

1 Ответ

2 голосов
/ 24 сентября 2019

Вы можете использовать в качестве ключа значение datetime каждой строки и сортировать от самой старой до самой новой:

import datetime

commits_dict = {
    'Jordan McCullough': ['2014-11-07, 18:27:19', '2014-11-05, 20:00:35', '2014-11-05, 19:59:55'],
    'Peter Bell': ['2013-06-18, 19:34:38', '2014-11-05, 15:33:57'],
    'Matthew McCullough': ['2012-08-31, 20:35:43', '2012-08-31, 00:00:50', '2012-07-25, 05:25:20']
}


def key(s):
    return datetime.datetime.strptime(s, '%Y-%m-%d, %H:%M:%S')


result = {k: sorted(v, key=key) for k, v in commits_dict.items()}

print(result)

Вывод

{'Jordan McCullough': ['2014-11-05, 19:59:55', '2014-11-05, 20:00:35', '2014-11-07, 18:27:19'], 'Peter Bell': ['2013-06-18, 19:34:38', '2014-11-05, 15:33:57'], 'Matthew McCullough': ['2012-07-25, 05:25:20', '2012-08-31, 00:00:50', '2012-08-31, 20:35:43']}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...