1 from __future__ import generators
3 def xcombinations(items, n):
6 for i in xrange(len(items)):
7 for cc in xcombinations(items[:i]+items[i+1:],n-1):
10 def xuniqueCombinations(items, n):
13 for i in xrange(len(items)):
14 for cc in xuniqueCombinations(items[i+1:],n-1):
17 def xselections(items, n):
20 for i in xrange(len(items)):
21 for ss in xselections(items, n-1):
24 def xpermutations(items):
25 return xcombinations(items, len(items))