On Wed, 27 Nov 2013 08:33:43 -0500, Neil Cerutti <mr.ceru...@gmail.com> wrote: > On Wed, Nov 27, 2013 at 5:46 AM, <amjad...@gmail.com> wrote: >> I am working on a problem (Bioinformatics domain) where all >> possible combinations of input string needs to be printed as >> sublist >> >> For example: >> Input string : "LEQN" >> Output= "[L","E","Q","N"] >> ["LE","EQ","QN","NL"]["LEQ","EQN","QNE","NLE"]["LEQN"] > > How about itertools.combinations? > > import itertools > > s = "LEQN" > for i in range(len(s)): > for comb in itertools.combinations(s, i+1): > print(comb) > Output: > ('L',) > ('E',) > ('Q',) > ('N',) > ('L', 'E') > ('L', 'Q') > ('L', 'N') > ('E', 'Q') > ('E', 'N') > ('Q', 'N') > ('L', 'E', 'Q') > ('L', 'E', 'N') > ('L', 'Q', 'N') > ('E', 'Q', 'N') > ('L', 'E', 'Q', 'N') > > For some reason I've got more 2-character combinations than you, > though.
The original poster's combinations comprise letters that are *contiguous*, in a circular sense. Yours include non-contiguous sets, like LQ. -- To email me, substitute nowhere->spamcop, invalid->net. -- https://mail.python.org/mailman/listinfo/python-list