让 S(w) 成为一组单词。我想生成所有可能的 n-子集组合 s,使得这些子集的并集始终等于 S(w)。
所以你有一个集合(a、b、c、d、e),你希望所有的 3-组合为:
((a, b, c), (d), (e))
((a, b), (c, d), (e))
((a), (b, c, d), (e))
((a), (b, c), (d, e))
每个组合都有 3 个集合,这些集合的并集是原始集合。没有空集,没有缺失元素。
必须有一种方法使用 itertools.combination + collection.Counter 来实现这一点,但我甚至不知道从哪里开始...... 有人能帮助吗?
卢克
编辑:我需要捕获所有可能的组合,包括:
((a, e), (b, d),(c))
等等......
所以你有一个集合(a、b、c、d、e),你希望所有的 3-组合为:
((a, b, c), (d), (e))
((a, b), (c, d), (e))
((a), (b, c, d), (e))
((a), (b, c), (d, e))
每个组合都有 3 个集合,这些集合的并集是原始集合。没有空集,没有缺失元素。
必须有一种方法使用 itertools.combination + collection.Counter 来实现这一点,但我甚至不知道从哪里开始...... 有人能帮助吗?
卢克
编辑:我需要捕获所有可能的组合,包括:
((a, e), (b, d),(c))
等等......