In [1]:
import datetime

In [2]:
def iter_date(date, increment=datetime.timedelta(days=1)):
    while True:
        yield date;
        date += increment

In [3]:
iter_thing = zip(
    iter_date(datetime.date(2016, 5, 2), datetime.timedelta(days=-1)),
    range(5)
)
for i, _ in iter_thing:
    print(i)


2016-05-02
2016-05-01
2016-04-30
2016-04-29
2016-04-28

In [4]:
iter_thing = zip(
    iter_date(1, 2),
    range(5)
)
for i, _ in iter_thing:
    print(i)


1
3
5
7
9

In [5]:
iter_thing = zip(
    iter_date('a one', ', anna two'),
    range(5)
)
for i, _ in iter_thing:
    print(i)


a one
a one, anna two
a one, anna two, anna two
a one, anna two, anna two, anna two
a one, anna two, anna two, anna two, anna two

In [6]:
iter_thing = zip(
    iter_date('a one', ', anna two'),
    5*' '
)
for i, _ in iter_thing:
    print(i)


a one
a one, anna two
a one, anna two, anna two
a one, anna two, anna two, anna two
a one, anna two, anna two, anna two, anna two

In [7]:
from itertools import islice

In [8]:
for i in islice(iter_date('a one', ', anna two'), 5):
    print(i)


a one
a one, anna two
a one, anna two, anna two
a one, anna two, anna two, anna two
a one, anna two, anna two, anna two, anna two

In [9]:
iter_thing = islice(iter_date(datetime.date.today()), 10)
print('a', iter_thing)
print('a', tuple(iter_thing)[0])
for i in iter_thing:
    print(i)


a <itertools.islice object at 0xb4b93e8c>
a 2016-05-24