Python 如何为列表中的每个单词赋值

Python 如何为列表中的每个单词赋值,python,string,python-3.x,input,split,Python,String,Python 3.x,Input,Split,我试图建立一个程序,搜索用户输入的句子,然后根据每个单词的位置对其进行编号。如果一个单词出现多次,它将保持其原始值 例如: 你问我的名字,我就问你的名字你问我的名字 到目前为止,我有: Usent = input("write a sentence please: ") Listsent = Usent.split() 您可以与列表理解一起使用: >>> s = "you ask my name then ill ask yours" >>> [val +

我试图建立一个程序,搜索用户输入的句子,然后根据每个单词的位置对其进行编号。如果一个单词出现多次,它将保持其原始值

例如:

你问我的名字,我就问你的名字你问我的名字

到目前为止,我有:

Usent = input("write a sentence please: ")
Listsent = Usent.split()
您可以与列表理解一起使用:

>>> s = "you ask my name then ill ask yours"
>>> [val  + " = "  + str(index) for index, val in enumerate(s.split())]
['you = 0', 'ask = 1', 'my = 2', 'name = 3', 'then = 4', 'ill = 5', 'ask = 6', 'yours = 7']
我将把处理“重复”索引的部分留给您。

您可以使用列表理解:

>>> s = "you ask my name then ill ask yours"
>>> [val  + " = "  + str(index) for index, val in enumerate(s.split())]
['you = 0', 'ask = 1', 'my = 2', 'name = 3', 'then = 4', 'ill = 5', 'ask = 6', 'yours = 7']

我将把处理“重复”索引的部分留给您。

第二个实例的
ask
不应该有
2
的值吗?不,如果一个单词保持其原始值后多次出现,我会尝试这样做是的,但在您给出的示例中,
ask
2
的值,但第二个实例的值为
1
。如果你想保留原始值,第二个实例不应该也有值
2
?第二个
ask
实例不应该有值
2
?不,如果一个单词在保持其原始值之后多次出现,我会尝试这样做是的,但在你给出的示例中,
ask
的值为
2
,但第二个实例的值为
1
。如果要保留原始值,第二个实例是否也应该具有值
2