Bonsoir,

je suis bloqué sur un algo depuis le début de l'après midi, je dois reconnaître que je suis à cours d'idée

Voilà ma problématique:

je dispose d'une liste contenant un grand nombre de lettres (100k environ) ainsi que de deux listes (debut et fin) contenant des positions relatives à ma grandes listes.

par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
texte = ['A','B','C'..............................................................,'K']
 
debut = ['15','2','50']
fin = ['18','6','61']
debut[0] et fin[0] sont liés ect..

Ce que je voudrai, c'est parcourir toute ma liste, et lorsque je tombe dans l'intervalle de debut : fin, je ne touche à rien, sinon je remplace toutes mes lettres hors de cet intervalle par un caractère (peu importe lequel).

Je veux donc modifier toutes les lettres de ma liste texte qui ne sont pas comprises dans les intervalles de debut et fin.

Voila ce que j'ai fais pour le moment

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
while (t!=len(texte)):         
	for i,j,k in zip(debut,fin,texte):
			if (t> debut) and (t < fin): #si la position actuelle est comprise dans l'intervalle, ne rien faire
                                t +=1
				pass
			else:
				k = "*"
                                t+=1
La taille de mes listes debut / fin est de 100, alors que mon texte est de taille 100 000 (pour 100 000 caractères), mon itération est donc mauvaise, mais je ne vois pas comment procéder.