I often find myself doing this:
for x in range(x_size): for y in range(y_size): for z in range(z_size): pass # do something here
Use itertools.product():
import itertools for x, y, z in itertools.product(range(x_size), range(y_size), range(z_size)): pass # do something here
From the docs:
Cartesian product of input iterables. Equivalent to nested for-loops in a generator expression. ...
Cartesian product of input iterables.
Equivalent to nested for-loops in a generator expression. ...