2016-12-05 50 views
-1

我正在嘗試創建一個程序,將一個句子中的每個單詞分配給一個數字(或位置)。但是如果這個詞再次出現,它的編號與第一次出現的編號相同。 例如: 如果我輸入了句子「我的貓愛吃奶酪並且喜歡蛋糕」,它應該輸出「1,2,,4,5,,7」。由於「愛」出現了兩次,這是相同數量的,因爲它是第一次如何爲輸入的句子中的每個單詞分配一個數字?

+1

你嘗試過這麼遠嗎?你能告訴我們你的代碼嗎?你具體在哪裏卡住? – CoryKramer

+0

這是問題所在。我只是一個初學者,並且尋找了一些東西,但我還沒有找到任何東西。我有一個while循環輸入句子,但它的分配部分我沒用在 – coopershannan

回答

0

您可以使用list.index()找到元素首次出現在列表中:

>>> my_string = "My cat loves cheese and loves cake" 
>>> word_list = my_string.split() 

#  As index starts with `0`, add 1 v 
>>> ','.join(str(word_list.index(word)+1) for word in word_list) 
'1,2,3,4,5,3,7' 
+0

是否有可能把它放到一個文件而不是shell? – coopershannan

+0

一切皆有可能。你得到的價值是字符串。將值存儲在變量中並將該字符串寫入文件。 –

+1

我已經做到了,非常感謝你:) – coopershannan

相關問題