> > 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]))
>>> partition('abcd')
['abcd']
['a', 'bcd']
['ab', 'cd']
['abc', 'd']
['a', 'b', 'cd']
['a', 'bc', 'd']
['ab', 'c', 'd']
['a', 'b', 'c', 'd']
--
http://mail.python.org/mailman/listinfo/python-list
