2016-12-11 3 views
0

У меня есть строка, и я хочу, чтобы найти индекс повторного слова в каждой строке:Найти повторяющееся слово в каждой строке

string = "string3 is nice, string2 . string3 is good." 
x = "string3" 
for word in set(string.split()): 
if "string3" in word: 
    u = string.index(x) 
    print(x, u) 

Я хочу найти «string3» и их индексы. Проблема в моем коде это только найти первый «string3» в «string3 is nice» и не переходит на следующую строку "string3 is good"

любая идея, почему? ..

+0

вы использовали 'набор (String.split())', который удаляет все дубликаты. – AChampion

ответ

0

Использование set() удаляет дубликаты и может изменить порядок (set s неупорядочен в python).

Использование enumerate() вы можете получить все индексы для слов:

string = "string3 is nice, string2 . string3 is good." 
x = "string3" 
for u, word in enumerate(string.split()): 
    if x == word: 
     print(x, u) 
+0

Спасибо большое :-) –