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
Pythonic they are -> (modify according to your requirements)
>>> [ (x,y) for x in range(2) for y in range(2)] [(0, 0), (0, 1), (1, 0), (1, 1)]
Generator version :
gen = ( (x,y) for x in range(2) for y in range(2) ) >>> for x,y in gen: ... print x,y ... 0 0 0 1 1 0 1 1