• nested
  • for-loop
  • itertools

When you have multiple for loops, one nested in another, or you need a dynamic number of nested loops, use itertools.product().