Search code examples
pythonnested-loopspython-itertools

Itertools equivalent of nested loop "for x in xs: for y in ys..."


I have a nested loop to create all combinations in a set of conjugated verbs. The aim to to get all possible combinations of verb, person and tense, e.g. [['to be', 'first person singular', 'future'],['to be', 'second person singular', 'future'], ...].

for v in verbs:
    for p in persons:
        for t in tenses:
            return [v, p, t]

Is there a way of reducing the nesting, perhaps using itertools?


Solution

  • for v, p, t in itertools.product(verbs, persons, tenses):
        ...