拥有以下字典:
d = {
'a': [1, 2, 3],
'b': [True, False]
}
如何生成表示每个键的所有值组合的词典列表?输出应该是这样的:
combinations = [
{'a': 1, 'b': True},
{'a': 2, 'b': True},
{'a': 3, 'b': True},
{'a': 1, 'b': False},
{'a': 2, 'b': False},
{'a': 3, 'b': False}
]
这应该适用于字典中任意数量的键和任意长度的值。我们可以假设值始终是列表。
答案 0 :(得分:4)
这可以使用itertools
:
[dict(zip(d, values)) for values in itertools.product(*d.values())]