【发布时间】:2013-02-13 16:19:34
【问题描述】:
我想获取数量不定、长度不定的列表,并从每个列表中生成一个元素的每个可能组合。为了提高效率,我可以简单地迭代每个组合,而不是存储结果。
例如,下面的列表列表:
[['A','B','C'],['w','x','y','z'],[1,2]]
会变成:
['A','w',1],['A','w',2],['A','x',1],['A','x',2],...,['C','z',1],['C','z',2]
不完全是 zip,也不完全是 itertools.permutation()... 如果您提前知道列表的数量,这样做很容易,但在这种情况下我不会。我确信我可以为此提供一个递归解决方案,但也许这已经解决了。有什么见解吗?
【问题讨论】:
-
提问的方式和标题本身在这里更好;我可以轻松地用谷歌搜索这个(“重复”)问题和答案,但是在寻找与 OP 完全相同的问题的快速解决方案时,我永远不会找到“原始”。此外,这里的答案也更加明确。
标签: python list combinations