【发布时间】:2013-10-16 04:01:34
【问题描述】:
我想要做的是获取一个文本文件并返回文件中的字谜(按字母顺序重新排列时产生新单词的单词)的字典。因此,如果文件包含单词 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
任何帮助将不胜感激。我希望提出一个运行速度也很快的解决方案,即使文件包含数万个单词(如书籍)
【问题讨论】:
标签: python python-2.7 dictionary