Вы задаете несколько вопросов одновременно, поэтому я отвечу на них по порядку.
Чтобы отфильтровать записи "Date"
, используйте функцию filter
, напримерэто:
dates = ['2011-06-18', 'Date', '2010-01-13', '1997-12-01', '2007-08-11']
dates_filtered = filter(lambda d: d != 'Date', dates)
Или, возможно, вот так, используя понимание списка Python , если вам легче понять:
dates_filtered = [d for d in dates if d != 'Date']
Возможно, вы захотите преобразоватьтипы данных элементов даты в вашем списке для date
класса , чтобы получить доступ к некоторым методам, связанным с датами, таким как:
from datetime import datetime
date_objects = [datetime.strptime(x,'%Y-%m-%d').date() for x in dates_filtered]
И для сортировки дат, которые вы просто используетеsort
метод
date_objects.sort()
Синтаксис в Python для доступа к элементам и диапазонам элементов в списках (или любом «типе последовательности») довольно мощный.Вы можете узнать больше об этом здесь .Например, если вы хотите получить доступ к двум последним датам в вашем списке, вы можете сделать что-то вроде этого:
print(date_objects[-2:]
Если вы сложите все это вместе, вы получите что-то вроде этого:
from datetime import datetime
dates = ['2011-06-18', 'Date', '2010-01-13', '1997-12-01', '2007-08-11']
my_dates = [datetime.strptime(d, '%Y-%m-%d').date()
for d in dates
if d != 'Date']
my_dates.sort()