I see three issues emerging from Ronie's post. The first issue. Each combinatorial iterator, such as itertools.product, has an internal state. This internal state, roughly, is 'where am I'? For the product of three tuples, the internal state is the value of (i, j, k), the indexes into the tuples.
The first issue is: how to set the internal state of a combinatorial iterator? And should this be added to the standard library? The second issue. Again, it's about combinatorial iterators. Here's an example. By using enumerate(combinations('ABCD', 2)) we set up a bijection between range(0, 4 * 3 // 2) and the length two subsets of set('ABCD'). When and how should this bijection be made available. The third issue is solving the specific date and time problem he provides. Because of the complexities of date and time, this is I think best done using the datetime module. For me, something like the below (not tested) is the obvious thing to try. def my_moments(start, step): i = 0 while True: value = start + i * step yield value i = i + 1 Here, start is to be a datetime, and step a timedelta. And instead of yielding the value as is, convert it if you wish to a tuple of (year, month, day, hour, minute, second). Ronie. Does this solve your problem? And if not, why not? -- Jonathan _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/