j'écrire ce code en pythoncomment trouver l'index de mot dupliquée en python
import re
text = input('please enter text: ')
word = re.findall('\w+', text)
len_word = len(word)
word_pos = []
for i in range(len_word):
if text.index(word[i]) in word_pos:
prev_index = text.index(word[i]) + 1
last_index = 0
# print('index1: ' , last_index)
text = text[prev_index:]
# print('new_text: ' , new_text)
word_pos.append(text.index(word[i]) + prev_index + last_index)
last_index += prev_index
else:
word_pos.append(text.index(word[i]))
print(word_pos)
et la sortie de cette entrée: aa, est: [0, 2], et est correcte, mais ce siguation: aaa, réponse est: [0, 2, 1], je veux voir: [0, 2, 4], et je veux un code dynamique parce que je ne sais pas quand je reçois le mot de duplacated contribution. et s'il y a une solution que je veux obtenir l'index de texte plus dupliquée grâce
Quelle est entrée exacte? –
Ow, ma complexité algorithmique! Trouver un moyen d'éviter cette recherche linéaire. – o11c
Est-il nécessaire que l'entrée soit une chaîne? Si la chaîne est 'split()' dans une liste de mots, les indices des réplicats sont différents. Exemple: '" a a a ".split()' -> '['a', 'a', 'a']' -> '[0, 1, 2]' à la place. De plus, les mots répétés sont différents des lettres répétées. Qu'est-ce que vous attendez de '" foo bar aaaa aaa bar "'? – pylang