python 实现组合的全部输出
引用来源
https://github.com/eff-kay/combination-and-permutation
代码
def permutation(s):
if len(s) == 1:
return [s]
perm_list = [] # resulting list
for a in s:
remaining_elements = [x for x in s if x != a]
z = permutation(remaining_elements) # permutations of sublist
for t in z:
perm_list.append([a] + t)
return perm_list
def xuniqueCombinations(items, n):
if n==0:
yield []
else:
for i in range(len(items)):
for cc in xuniqueCombinations(items[i+1:],n-1):
yield [items[i]]+cc
for x in xuniqueCombinations([1,2,3,4],1):
print( x)