1

I'm trying to figure out a way to dynamically reproduce the loop structure below, dependent on the number of "groups" I have. Any ideas? Thanks in advance!

for a in range(len(group1)):
  for b in range(len(group2)):
    for c in range(len(group3)):
      for d in range(len(group4)):
        for e in range(len(group5)):
          for f in range(len(group6)):
            createImage(a,b,c,d,e,f,counter)
pythonix
  • 23
  • 4

1 Answers1

7

Short of generating source code to be executed using the exec function (don't do that!), you would need to use recursion. Fortunately, that has effectively already been done for you:

from itertools import product


for t in product(*(range(len(x)) for x in [group1, group2, ...])):
    createImage(*t, counter)
chepner
  • 497,756
  • 71
  • 530
  • 681