import itertools as itvarNames = sorted(variants)combinations = [dict(zip(varNames, prod)) for prod in it.product(*(variants[varName] for varName in varNames))]
嗯,这返回:
[{'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'}]这可能不完全是您想要的。让我来适应它…
combinations = [ [ {varName: val} for varName, val in zip(varNames, prod) ] for prod in it.product(*(variants[varName] for varName in varNames))]现在返回:
[[{'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'}]]Voilà;-)



