Задача состоит в том, чтобы преобразовать удобочитаемые временные рамки в python дружественные. Таймфреймы могут включать только следующие форматы:
- '9: 00–9: 45 PM'
- '9: 00 AM – Midnight'
- ' 9:00 - полдень '
- ' Полдень - 9: 45 вечера '
- ' Полдень - полночь '
- ' 24 часа '
Следующий фрагмент кода работает для всех случаев, кроме '24 часа'.
data = ['9:00 AM–9:45 PM',
'9:00 AM–Midnight',
'9:00 AM–Noon',
'9:00 PM–10:00 PM',
'Noon–9:45 PM',
'Noon–Midnight',
'24 Hours']
for slot in data:
print([[time(0, 0), time(23, 59)] if item == "24 Hours" # Need help here
else time(12, 0)if item == "Noon"
else time(0, 0)if item == "Midnight"
else datetime.strptime(item, "%I:%M %p").time()
for item in slot.split("–")] )
Вывод:
[datetime.time(9, 0), datetime.time(21, 45)]
[datetime.time(9, 0), datetime.time(0, 0)]
[datetime.time(9, 0), datetime.time(12, 0)]
[datetime.time(21, 0), datetime.time(22, 0)]
[datetime.time(12, 0), datetime.time(21, 45)]
[datetime.time(12, 0), datetime.time(0, 0)]
[[datetime.time(0, 0), datetime.time(23, 59)]] # Need help here
Хотя я частично могу, выход - это список -лист для 24 hours
. Я ищу только список. Может ли кто-нибудь помочь мне с этим?
Заранее спасибо.