Одной из типичных задач при работе с датами в Python может быть создание списка дат, начиная с текущего дня и идущего назад на определенное количество дней. Пример такого задания может быть создание списка последних ста дней.
Для решения этой задачи можно использовать модуль datetime
. Сначала нужно получить текущую дату с помощью метода datetime.datetime.today()
. Затем можно создать пустой список для хранения дат. После этого можно в цикле от 0 до нужного количества дней вычитать из текущей даты количество дней, равное текущему значению переменной цикла, и добавлять полученную дату в список.
Однако такой подход не является оптимальным, так как при большом количестве дней операция вычитания будет выполняться много раз.
Более эффективным решением будет использование генератора списков, который позволяет создать список в одну строку. Вместо цикла for
используется конструкция [expression for item in iterable]
, где expression
— это выражение, которое генерирует элементы списка, а iterable
— это объект, который можно перебрать.
Пример реализации на Python:
import datetime numdays = 100 dateList = [datetime.datetime.today() - datetime.timedelta(days=x) for x in range(numdays)]
В данном коде создается список dateList
, каждый элемент которого является датой, отстоящей на x
дней от текущей даты. В результате получается список последних numdays
дней, начиная с текущего.
Такой подход позволяет создать список дат более эффективно и компактно.
Добавить комментарий