2013-03-25 218 views
0

因此,我正在編寫一個程序,該程序從字文件讀取並打印出一組字作爲字母。在python中使用元組作爲字典中的字典鍵

目前,我有一個函數,它接受一個字符串,並返回一個元組,並將所有字母全部整理出來。

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) 

現在,雖然我可以很容易地使元組,在那裏我堅持是我想這些存儲作爲字典鍵,這將是最佳因爲元組和鍵是不可變的,但我對這樣做的方法感到困惑。此外,這些值將是這些鍵的單詞列表。

+0

'字典= {}' '的eachWord在單詞表:' '元組= getLetters(eachWord)' '的eachTuple在元組:' '字典=(eachTuple,單詞表)' '打印字典' – user1768884 2013-03-25 17:00:07

+1

如何使用'dict [key] = value'? – 2013-03-25 17:00:14

+1

但是不要*使用'tuple'和'dict'作爲變量名稱,隱藏內置類型。 – 2013-03-25 17:02:41

回答

3

sorted()返回一個列表,你想交換你行:

tuple_o_letters = tuple(sorted(string)) 

這種種在string的字母,然後轉動所產生的排序列表到一個元組。