I am trying to write a basic anagram system, that takes a text file line by line and by sorting the string into its alphabetical form compares it to keys within a dictionary.
If it matches a key I want to add it (in its unordered form) to a list for that key. So far this is what I have import sys, string, fileinput # takes an item (string) and converts it to its basic alphabetical form def getChar( item ): item_chars = [] for i in range(len(item)): item_chars.append(item[i]) item_chars.sort() return string.join(item_chars, "") anagramDict = {} for line in fileinput.input("fakelist.txt"): myLine = line.replace("\n", "") #remove the carriage returns myString = getChar(myLine) #get the alphabetical form for k in anagramDict.items(): #iterator through the keys in the dictionary if k[0] == myString: #if the key matches our string anagramDict[k].append([myLine])#append that k and add the value this line else: anagramDict[myString] = [myLine] #else there is no key the same so make a new one print anagramDict -- http://mail.python.org/mailman/listinfo/python-list