【发布时间】:2021-07-13 11:56:07
【问题描述】:
给定一个字典,其中包含不同长度的列表,但不仅如此,例如
d = {foo: 'hello', bar: [0, 2], baz: [1, 2, 3]}
我想创建一个所有可能组合的列表,其中每个组合都是一个字典:
l = [{foo: 'hello', bar: 0, baz: 1},
{foo: 'hello', bar: 0, baz: 2},
{foo: 'hello', bar: 0, baz: 3},
{foo: 'hello', bar: 2, baz: 1},
{foo: 'hello', bar: 2, baz: 2},
{foo: 'hello', bar: 2, baz: 3}]
这里的顺序无关紧要,我不需要将列表转换回字典。
当然可以使用 Python 循环执行此操作,但我正在寻找更高效和/或更优雅的解决方案。
【问题讨论】:
-
foo与bar和baz有什么不同?因为那是唯一不是列表的元素。 -
确实,foo 不是一个列表。但是,如果仅使用列表更简单,那对我来说没问题。
标签: python-3.x