我想要做的是获取一个文本文件并返回文件中的字谜(按字母顺序重新排列时产生新单词的单词)的字典。因此,如果文件包含单词 dub 和 bud,那么代码应该创建一个密钥 bdu 并将字符串 dub 和 bud 附加到它们的元组或列表中,或者你有什么。
现在我的代码准确地输出了我想要的东西,除了一个具有多个值的键,我为每个值获取相同的键。回到我之前的例子,我得到了一个用于配音的 bdu 键,然后是另一个用于 bud 的 bdu 键。我将如何删除相同的键并将键值合并到一个键?
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
任何帮助,将不胜感激。我希望提出一个运行速度也很快的解决方案,即使文件包含数万个单词(如书籍)