Hi, I want to generate all non-empty substrings of a string of length >=2. Also, each substring is to be paired with 'string - substring' part and vice versa. Thus, ['abc'] gives me [['a', 'bc'], ['bc', 'a'], ['ab', 'c'], ['c', 'ab'], ['b', 'ac'], ['ac', 'b']] etc. Similarly, 'abcd' should give me [['a', 'bcd'], ['bcd', 'a'], ['abc', 'd'], ['d', 'abc'], ['b', 'acd'], ['acd', 'b'],['c', 'abd'], ['abd', 'c'], ['ab', 'cd'], ['cd', 'ab'], ['bc', 'ad'], ['ad', 'bc'], ['ac', 'bd'],['bd','ac']]
I've tried the following but i cant prevent duplicates and i'm missing some substrings: >>> colocn = 'abcd' >>> k = 4 >>> for i in range(k-1): for j in range(1,k): rule1 = [colocn[i:i+j],colocn[:i]+colocn[i+j:]] rule2 = [colocn[:i]+colocn[i+j:],colocn[i:i+j]] rules.append(rule1) rules.append(rule2) >>> rules [['a', 'bcd'], ['bcd', 'a'], ['ab', 'cd'], ['cd', 'ab'], ['abc', 'd'], ['d', 'abc'], ['b', 'acd'], ['acd', 'b'], ['bc', 'ad'], ['ad', 'bc'], ['bcd', 'a'], ['a', 'bcd'], ['c', 'abd'], ['abd', 'c'], ['cd', 'ab'], ['ab', 'cd'], ['cd', 'ab'], ['ab', 'cd']] Any ideas?? TIA, girish ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- http://mail.python.org/mailman/listinfo/python-list