2016-12-05 52 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

相关问题