Combinations from dictionary with list values using Python

Viewed 6752

I have the following incoming value:

variants = {
  "debug" : ["on", "off"],
  "locale" : ["de_DE", "en_US", "fr_FR"],
  ...
}

I want to process them so I get the following result:

combinations = [
  [{"debug":"on"},{"locale":"de_DE"}],
  [{"debug":"on"},{"locale":"en_US"}],
  [{"debug":"on"},{"locale":"fr_FR"}],
  [{"debug":"off"},{"locale":"de_DE"}],
  [{"debug":"off"},{"locale":"en_US"}],
  [{"debug":"off"},{"locale":"fr_FR"}]
]

This should work with arbitrary length of keys in the dictionary. Played with itertools in Python, but did not found anything matching these requirements.

4 Answers
Related