我正在寻找一种简单的方法来生成可迭代对象的幂集,其中每个元素可以是"正"或"负",但不能都是同一个组合. 迭代对象中没有重复项,只有元素,或者它是负数. 秩序不重要.
下面是一个int
的例子:
可迭代:
elements = [-2, 1]
所需功率集:
[]
[-2]
[2]
[-1]
[1]
[-2, -1]
[-2, 1]
[2, -1]
[2, 1]
"子集"排除:
[-1, 1]
[-2, 2]
我目前的方法是使用here的powerset实现实现elements
和[-x for x in elements]
的组合列表,然后遍历powerset并删除不需要的组合.
但是,这不是最佳的,我猜.
有没有一个简单的解决方案,不需要我在最后删除不需要的组合?