2016-12-14 41 views
-1

我在想如何將輸入中的單詞轉換爲Python中的值。用戶將進入一個輸入例如:將輸入中的單詞轉換爲值Python

"The dog chased the cat the lion chased the dog" 

我會那麼喜歡它返回:

["1,2,3,1,4,1,5,6,1,2"] 

我想重複的話,保留相同的值時,這個詞第一次發生。我試圖這樣做多種方式,我現在用的那一刻下面的代碼,但它似乎返回隨機指數:

l = input("Enter a sentence").lower lists= list(l) valueindex = range(len(lists)) print(valueindex) 

感謝您的幫助, 艾薩克

回答

-1
def text_process(text): 
    '''split text to list and all the item are lower case''' 

    text_list = text.lower().split() 
    return text_list 

def lookup_table(text_list): 
    '''build dict contain the text and number pair''' 

    lookup = {} 
    start = 0 
    for item in text_list: 
     if item not in lookup: 
      lookup[item] = start + 1 
      start += 1 
    return lookup 

if __name__ == '__main__': 
    text = "The dog chased the cat the lion chased the dog" 
    text_list = text_process(text) 
    lookup_table = lookup_table(text_list) 
    out_put = [lookup_table[text]for text in text_list] 
    print(out_put) 

出來:

[1, 2, 3, 1, 4, 1, 5, 3, 1, 2] 
+0

我必須承認,我有點好奇你在我關閉它25分鐘後如何設法回答這個問題。我總是立即看到通知。 – TigerhawkT3

+0

是的,它是重複的。我仔細檢查。我建議你也這樣做。 – TigerhawkT3

+0

@ TigerhawkT3我的錯誤,謝謝你的時間。 –