Чистый способ создания списка часов
Я хотел бы создать список часов, который является кортежем 24-часового времени (в цифре) и строкового представления 12-часового времени.
Формат будет таким:
[(0, "12 AM"), (1, "1 AM), ..., (13, "1PM"), ... ]
Я смог получить что-то вроде этого
hours = [(0,"12 AM")] hours += [(hour,str(hour) + " AM") for hour in range(1, 12)] hours += [(12,"12 PM")] hours += [(hour+12,str(hour) + " PM") for hour in range(1, 12)]
Но я чувствую, что есть более чистый способ сделать это, но не могу понять это.
- родительский класс отношений родителя python
- Выполнить функцию без отправки «я» на нее
- Python: создание возможных подписок из 2 списков, в которых порядок не изменяется
- Вызов списка () дважды на reverse () возвращает пустой список во второй раз
- Добавление числа в столбец с помощью python
import datetime as dt hours = [(i, dt.time(i).strftime('%I %p')) for i in range(24)]
>>> hours = [(n, "%d %s" % (n % 12 or 12, ["AM", "PM"][n > 11])) for n in range(24)] >>> hours [(0, '12 AM'), (1, '1 AM'), (2, '2 AM'), (3, '3 AM'), (4, '4 AM'), (5, '5 AM'), (6, '6 AM'), (7, '7 AM'), (8, '8 AM'), (9, '9 AM'), (10, '10 AM'), (11, '11 AM'), (12, '12 PM'), (13, '1 PM'), (14, '2 PM'), (15, '3 PM'), (16, '4 PM'), (17, '5 PM'), (18, '6 PM'), (19, '7 PM'), (20, '8 PM'), (21, '9 PM'), (22, '10 PM'), (23, '11 PM')]
Вот еще один лайнер для вас:
[(hour24, '%d %s' % (hour12, (lambda x: 'AM' if x < 12 else 'PM')(hour24))) for hour12, hour24 in zip(([12]+range(1, 12)*2), range(0, 24))]
Я также нашел альтернативу, которую я использую в качестве генератора:
def dayrange(start_date): for n in range(25): yield start_date + i*timedelta(hours = 1)
с start_date – объект datetime.datetime.
- Периодические задания, не работающие в Django Celery
- Демон службы службы Python?
- Не удалось найти вложенную геоинформацию после обновления до elasticsearch 2.3
- __coerce__ vs. __ihook__ разница?
- Мне нужно определить __setattr__ для назначения полей без свойств, но использовать функции setter / getter для полей с определенным свойством
- Мне нужна полифония для objectify.SubElement
- Почему объект по-прежнему работает правильно без класса
- нахождение максимума столбца в массиве
- Архив Untar в Python с ошибками