生成表示每个键的值的所有组合的字典列表

时间:2015-10-15 11:27:43

标签: python

拥有以下字典:

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}
]

这应该适用于字典中任意数量的键和任意长度的值。我们可以假设值始终是列表。

1 个答案:

答案 0 :(得分:4)

这可以使用itertools

来解决
[dict(zip(d, values)) for values in itertools.product(*d.values())]