我有一个数组 [1,2,3]
我想使用数组的所有元素进行所有可能的组合:
结果:
[[1], [2], [3]]
[[1,2], [3]]
[[1], [2,3]]
[[1,3], [2]]
[[1,2,3]]
原文由 user2880257 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个数组 [1,2,3]
我想使用数组的所有元素进行所有可能的组合:
结果:
[[1], [2], [3]]
[[1,2], [3]]
[[1], [2,3]]
[[1,3], [2]]
[[1,2,3]]
原文由 user2880257 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答861 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
由于这个很好的问题已经复活,这里有一个新的答案。
问题递归解决:如果你已经有了一个 n-1个 元素的分区,你如何用它来分区 n个 元素?要么将第 n 个元素放入现有子集中,要么将其添加为新的单独子集。仅此而已;没有
itertools
,没有集合,没有重复输出,总共只有 n 次调用partition()
:输出: