您好,我已经看过扔论坛,但没有找到解决我的问题。 问题是: 我怎么能找到所有可能的子集[是长度l]的S大小的列表。 并将其返回到列表中。S的长度列表中的[长度为l]的子集
0
A
回答
1
In [162]: x=[1,2,3]
...: from itertools import combinations
...: print [subset for i in range(len(x)+1) for subset in combinations(x, i)]
#outputs: [(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
做到这一点而不组合:
In [237]: import numpy as np
...: x=np.array([1,2,3])
...: n=2**len(x)
...: res=[]
...: for i in range(0, n):
...: mask='{0:b}'.format(i).zfill(len(x))
...: mask=np.array([int(idx) for idx in mask], bool)
...: res.append(x[mask].tolist())
...: print res
#output: [[], [3], [2], [2, 3], [1], [1, 3], [1, 2], [1, 2, 3]]
+0
谢谢!但是没有组合就有另外一种方法可以做到这一点? – guffi8
+0
@ user3202912,答案已更新 – zhangxaochen
相关问题
- 1. Python:最长的子列表的长度?
- 2. 如何将长度拆分为子长度的组合(带有特殊允许的子长度的列表)
- 3. 长度有序的子集?
- 4. 最长的子序列的长度
- 5. 整数列表中最长的子序列的长度
- 6. 联合长度Y的n个列表为长度为n
- 7. R表子集的长度条件
- 8. 获取k-1的长度ķ阵列的长度子集阵列
- 9. 序言:长度为k的子集
- 10. Python中列表的长度?
- 11. Prolog中的列表长度
- 12. 列表的长度是五,但我想列表的长度150
- 13. 长度子序列的串
- 14. 的JavaScript array`s长度保持为0
- 15. Python:列表的最长公共子序列的长度
- 16. 程序集中长整型值列表的最大长度
- 17. R:获得ddply中子集的长度
- 18. 点的长度的长度
- 19. 最小长度L(递归)的最大连续子序列和
- 20. 下拉列表的长度
- 21. 的JavaScript/JSON。长度为长度3
- 22. 最短长度子集
- 23. Prolog列表长度
- 24. AngularFire集长度
- 25. 长度列的,由
- 26. 获取子集熊猫的长度DataFrame
- 27. 子集长和纬度值的范围
- 28. OCaml中的列表的长度
- 29. Angular.js:表中的列的动态长度
- 30. 发现列表的所有K-长度子集在序言
外观为幂配方在[itertools](http://docs.python.org/2/library/itertools.html)。 – kojiro
['itertools.combinations'](http://docs.python.org/2/library/itertools.html#itertools.combinations) – thefourtheye
我确定这是重复的。 – kkuilla