Python: как найти непрерывные интервалы времени в списке объектов времени?Python

Программы на Python
Anonymous
Python: как найти непрерывные интервалы времени в списке объектов времени?

Сообщение Anonymous »

У меня есть словарь, ключ которого — объект даты, а значение — список объектов времени.

Код: Выделить всё

timeSlots = {
datetime.date(2014, 12, 11): [
datetime.time(8, 0),
datetime.time(8, 30),
datetime.time(9, 0),
datetime.time(9, 30),
datetime.time(12, 0),
datetime.time(12, 30),
datetime.time(13, 0),
datetime.time(13, 30),
datetime.time(14, 0),
datetime.time(14, 30)
],
datetime.date(2014, 12, 12): [
datetime.time(8, 0),
datetime.time(8, 30),
datetime.time(9, 0),
datetime.time(9, 30),
datetime.time(12, 0),
datetime.time(12, 30),
datetime.time(13, 0),
datetime.time(13, 30),
datetime.time(14, 0),
datetime.time(14, 30)
]
}
Ввод: 30 минут
Вывод: {datetime.date(2014, 12, 11): [90, 150], datetime.date(2014, 12) , 12): [90, 150]

Как рассчитывается:
  • < li>предположим, что мой интервал составляет 30 минут, как указано во входных данных.
  • Возьмите первый список временных интервалов. Начните видеть, что разница между 8:00:00 и 8:30:00 составляет 30 минут, что соответствует полученному вводу, поэтому снова перейдите к следующему элементу списка, который равен 9:00:00 (тот же случай 8:30:00 и 9:00:00 имеет разницу в 30 минут) и так далее.
  • Остановитесь на 12:00:00, так как разница составляет более 30 минут от предыдущего элемента в списке, который равен 9:30:00.< /li>
    Рассчитать разницу между 8:00:00 и 9:30:00 и вернуть результат в минутах, то есть 90 минут.
  • Продолжите процесс, и вы получите результат.
Надеюсь, я ясно выразился.

Как лучше всего это сделать?

ТИА

Подробнее здесь: https://stackoverflow.com/questions/274 ... me-objects

Вернуться в «Python»