在python的anagram finder中使用元组作为字典键

时间:2013-03-25 16:42:49

标签: python dictionary tuples

所以我正在编写一个从word文件中读取的程序,并打印出一组字母组合的单词。

目前,我有一个带字符串的函数,并返回一个字母全部整理出来的元组。

def getLetters(string):
    """Purpose, to nab letters from a string and to put them in a tuple in
    sorted order."""
    tuple_o_letters = sorted(tuple(string))
    if _DEBUG:
        print tuple_o_letters

    return tuple_o_letters

发送给此函数的是此代码

try:
    fin = open("words.txt")
except:
    print("no, no, file no here.")
    sys.exit(0)

wordList = []
for eachline in fin:
   wordList.append(eachline.strip())
for eachWord in wordList:
   getLetters(eachWord)

现在,虽然我可以轻松地制作元组,但是我被卡住的地方是我试图将它们存储为字典键,这是最佳的,因为元组和键是不可变的,但我对这样做的方法感到困惑。此外,值将是带有这些键的单词列表。

1 个答案:

答案 0 :(得分:3)

sorted()会返回一个列表,您想要换行:

tuple_o_letters = tuple(sorted(string))

string中的字母进行排序,然后将生成的排序列表转换为元组。