我一直在编写程序来查找句子中每个唯一单词的第一个实例,但我的代码不起作用。我试图找到一个解决方案,但我似乎无法找到一个。任何帮助将不胜感激。
([^(?<=\${)(.*?)(?=})->]+)
答案 0 :(得分:1)
这是否符合您的要求?
def get_word_positions(sentence):
words = sentence.split()
uniques = set(words)
for word in uniques:
yield word, words.index(word)
if __name__ == '__main__':
sentence = input('Please enter a sentence: ')
print(list(get_word_positions(sentence)))
运行示例
Please enter a sentence: The fox is a silly fox indeed a
[('The', 0), ('a', 3), ('is', 2), ('indeed', 6), ('silly', 4), ('fox', 1)]
答案 1 :(得分:0)
分裂是一种功能。因此,您需要使用split()
答案 2 :(得分:0)
第一步是将单词拆分为一个列表:
value
然后您可以使用字典存储每个单词的第一个出现位置:
words = sentence.split()
使用:
word_occurrences = {}
for word in words:
word_occurrences[word] = words.index(word)
这导致:
sentence = "hi there hi to you there hi"
这可以使用以下方法整理成字典理解:
word_occurrences = {'hi': 0, 'you': 4, 'to': 3, 'there': 1}
答案 3 :(得分:0)
csentence= input("Please enter a sentence, ")
split_sentence=csentence.split() # added brackets & changed sentence to csentence
word_index=[]
words=[]
for x,y in enumerate(split_sentence):
print(x,y)
if y not in words:
words.append(y)
word_index.append(x)
print(word_index)