>> thanks lawrence...however this func doesnt return the permuted strings, >> so >> i added some code as follows to generate a list of all the permutations: >> >> def permute(seq): >> l = [] >> if len(seq) == 0: >> yield [] >> else: >> for i in range(0,len(seq)): >> for rest in permute(seq[:i] + seq[i+1:]): >> yield (seq[i],) + rest >> for t in permute(seq): >> l.append(''.join(t)) >> return l >> >> This gives me a syntax error! >> I need to output a list that has all the permutations of the input >> string. >> >> >> >> >>>-- >>>http://mail.python.org/mailman/listinfo/python-list >>> >> >> > > p = ["".join(s) for s in permute('abcdefg')]
This fails to work too. I'm trying to call permute func from another func, python gives me a TypeError as follows: def permute(seq): l = [] if len(seq) == 0: yield [] else: for i in range(0,len(seq)): for rest in permute(seq[:i] + seq[i+1:]): yield (seq[i],) + rest def main(stringList): for string in stringList: permList = list(permute(string)) l = ["".join(s) for s in permList] >>> l = ['abc','abd','bcd'] >>> main(l) TypeError: can only concatenate tuple (not "list") to tuple > > -- > James Stroud > UCLA-DOE Institute for Genomics and Proteomics > Box 951570 > Los Angeles, CA 90095 > > http://www.jamesstroud.com/ > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list