Uma maneira simples de localizar a última data consecutiva em uma lista.
def last_consecutive(x, y):
return x if y-x>datetime.timedelta(days=1) else y
reduce(last_consecutive, date_list)
Portanto, se você tiver uma lista do seguinte:
date_list = [
date(2014, 1, 1),
date(2014, 1, 2),
date(2014, 1, 3),
date(2014, 1, 10)
]
A chamada de redução retornaria a data (2014, 1, 3)