In <[EMAIL PROTECTED]>, Tom Carrick wrote: > [â] Also, I was wondering if there was a more > builtin, or just nicer way of converting a string to a list (or using > the sort function on a list) than making a function for it.
Use the `list()` builtin on the string and *just* the `sort()` method:: In [2]: characters = list('hello') In [3]: characters Out[3]: ['h', 'e', 'l', 'l', 'o'] In [4]: characters.sort() In [5]: characters Out[5]: ['e', 'h', 'l', 'l', 'o'] > sorted_anagram = anagram.lower() > sorted_anagram = string2list(anagram) > sorted_anagram.sort(lambda x, y: cmp(x, y)) sorted_anagram = list(anagram.lower()) sorted_anagram.sort() > while words: > if len(words[0]) == len(sorted_anagram): > wordlist = string2list(words[0]) > wordlist.sort(lambda x, y: cmp(x, y)) > sorted_wordlist = wordlist > if sorted_anagram == sorted_wordlist: > found.append(words[0]) > del words[0] And here's the performance issue. Deleting the first element of a list results in moving all remaining elements one index down. Better iterate over the words in a for loop:: for word in words: # use `word` instead of `word[0]` in the loop body. ... Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list