Finding combination of elements of a list
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Python code to pick out all possible combinations from a list?
号
我有一张单子,上面写着[1,2,3]。我想找到所有的组合
1 2 3 4 5 6 7 8 | C(3,1) [1] [2] [3] C(3,2) [1,2] [2,3] [1,3] C(3,3) [1,2,3] |
是否有一些模块/库用于执行此操作?
您可以使用itertools.combinations。
1 2 3 4 5 6 7 8 9 10 | >>> import itertools >>> list(itertools.combinations([1,2,3], 1)) [(1,), (2,), (3,)] >>> list(itertools.combinations([1,2,3], 2)) [(1, 2), (1, 3), (2, 3)] >>> list(itertools.combinations([1,2,3], 3)) [(1, 2, 3)] |
一般来说,对于您的
1 2 | def C(a, b): return list(itertools.combinations(range(1,a+1), b)) |
号
看看itertools库:http://docs.python.org/library/itertools.html