Consider if I had a function that took a tuple argument (x,y), where x was in the range(X), and y in the range(Y), the normal way of doing it would be:
for x in
from itertools import product def something_like_range(*sizes): return product(*[range(size) for size in sizes])
for a usage close to what you wanted:
for x,y in something_like_range(X,Y): your_function(x,y)
=)