def date_result_pairs(dates, results):
    """Generates pairs of (date, result), one for each date in dates. If there is no corresponding result, then the result will be None."""
    dates = iter(dates)
    results = iter(results)
    try:
        result = results.next()
        for day in dates:
            if result.date > day:
                yield (day, none)
            else:
                yield (day, result)
                result = results.next()
    except StopIteration:
        for day in dates:
            yield (day, None)


dates = our_xrange(start, end, interval)
results =["query","the DB"," for"," all"," data"," between"," start,"," end,"," matching"," interval,"," sorted"," by"," date."]
for date, result in date_result_pairs(dates, results):
    print "Result for date %s is %r" % (date, result)
