On Wed, 03 Jun 2009 20:27:56 -0700, Raymond Hettinger wrote: >> > What, no partitions? >> >> >http://en.wikipedia.org/wiki/Partition_of_a_set > > Simpler version: > > def partition(s): > n = len(s) > parts = range(1, n) > for i in range(n): > for div in combinations(parts, i): > print map(s.__getslice__, chain([0], div), chain(div, > [n]))
Nice one! Raymond, as perhaps *the* principle contributor to itertools, do you feel that the combinatorics-related tools should be in their own module? Or is that dividing the module too fine? Would you consider moving permutations() and friends into a module together with functions for calculating the number of permutations etc? e.g. permutations(iterable[, r]) --> permutations object nPr(n, r) --> int and similar. -- Steven -- http://mail.python.org/mailman/listinfo/python-list