Ce code simple qui essaie simplement de remplacer les points-virgules (à des positions i-spécifiées) par des deux-points ne fonctionne pas :
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
Il donne l'erreur
line[i]=":"
TypeError: 'str' object does not support item assignment
Comment puis-je contourner ce problème en remplaçant les points-virgules par des deux-points ? L'utilisation de replace ne fonctionne pas car cette fonction ne prend pas d'index - il peut y avoir des points-virgules que je ne veux pas remplacer.
Exemple
Dans la chaîne de caractères, je peux avoir un nombre quelconque de points-virgules, par exemple "Hei der ! ; Hello there ;! ;".
Je sais quels sont ceux que je veux remplacer (j'ai leur index dans la chaîne). L'utilisation de replace ne fonctionne pas car je ne suis pas en mesure d'utiliser un index avec lui.