Я считаю, что это также может быть решено с помощью? SingleWsdl вместо просто? Wsdl в конце. Существует несколько файлов WSDL, с которыми связаны ссылки, поэтому что-то слишком наивное для их просмотра может привести к ошибкам.
Это то, что я использую:
from itertools import product
def dictproduct(dct):
for t in product(*dct.itervalues()):
yield dict(zip(dct.iterkeys(), t))
, который применяется к вашему примеру, дает:
>>> list(dictproduct({"debug":["on", "off"], "locale":["de_DE", "en_US", "fr_FR"]}))
[{'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'}]
Я считаю, что это более читабельно, чем один вкладыш выше.
Кроме того, он возвращает итератор, такой как itertools.product
, поэтому он оставляет за пользователем право создавать экземпляр списка или просто использовать значения по одному.