私がやろうとしているのは、テキスト ファイルを取得し、ファイル内のアナグラム (アルファベット順に並べ替えると新しい単語を作成する単語) の辞書を返すことです。したがって、ファイルに dub と bud という単語が含まれている場合、コードはキー bdu を作成し、文字列 dub と bud をタプルまたはリストなどでそれらにアタッチする必要があります。
今私のコードは、複数の値を持つ1つのキーの代わりに、すべての値に対して同一のキーを取得することを除いて、私が望むものを正確に出力します。前の例に戻ると、dub のキー bdu を取得してから、bud の別の bdu キーを取得します。同一のキーを削除し、キー値を 1 つのキーにマージするにはどうすればよいですか?
def anagrams(f):
'''takes a file and returns a list of anagrams in the file'''
wordget = open(f).read().lower().split()
dic = {}
for w in wordget:
if ("".join(sortword(w))) in wordget:
dic = {("".join(sortword(w))):w}
for key in dic.keys():
print "'%s': %s" % (key, dic[key])
return None
どんな助けでも大歓迎です。何万もの単語を含むファイル(本のようなもの)でも、すばやく実行できるソリューションを考え出すことを望んでいます