Я не уверен, что это то, что вы ищете, но вы всегда можете собрать генератор из нескольких итераций:
all_combinations = ((a, b, c, d) for a in range(n_samples)
for b in range(n_rows)
for c in range(n_cols)
for d in range(n_boxes_per_cell))
for examples, x_grid, y_grid, bnd_box in all_combinations:
do stuff
Это то же самое, что и использование itertools.product (*итерируемые) и действительны для любой итерируемой, а не только итерации по индексам / целым числам.