python - 如何在python中找到所有有限制的子集?
问题描述
所以我在做梳子。拍卖算法,我喜欢给他 N 件物品,例如
(A,B,C)
我希望算法给我以下结果
(A,B,C)
(ABC)
(AB,C)
(AC,B)
(BC,A)
有任何想法吗 ?
我试过这个,但还不够
k =[1,2,3]
def powerset(xs):
result = [[]]
for x in xs:
subsets = [subset + [x] for subset in result]
result.extend(subsets)
return result
print (powerset(k))
解决方案
这是一个需要递归的分区问题。这里已经回答了: Set partitions in Python
推荐阅读
- python-3.x - tf.spectral.dct 和 scipy.fftpack.dct 是等价的吗?
- python - 定时器无法连接到pyqt5中的插槽
- python - 如何在python中对无序离散数据进行热编码?
- angular - 错误:找不到模块'@angular-cli/plugins/karma'
- php - 为什么我应该在支付请求后设置睡眠功能来获取贝宝交易 ID?
- c# - asp.net core 2.0 - 基于声明和策略的授权
- webpack - 使用 url() 不使用 CDN 从 CSS 加载的资产
- r - 结合 survfit 和 ggplot 对象的生存分析
- css - 显示材质角卡css
- sqlite - 选择每个用户的最后一条消息