Questo semplice codice che cerca semplicemente di sostituire i punti e virgola (nelle posizioni specificate da i) con i due punti non funziona:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
Dà l'errore
line[i]=":"
TypeError: 'str' object does not support item assignment
Come posso aggirare questo problema per sostituire il punto e virgola con i due punti? L'utilizzo di sostituzione non funziona in quanto tale funzione non accetta alcun indice: potrebbero esserci dei punti e virgola che non voglio sostituire.
Esempio
Nella stringa potrei avere un numero qualsiasi di punti e virgola, ad esempio "Hei der!; Hello there;!;"
So quali voglio sostituire (ho il loro indice nella stringa). L'uso della sostituzione non funziona poiché non sono in grado di utilizzare un indice con esso.
str.find()
invece per trovare la posizione del punto e virgola, quindi utilizzare l'affettatura per estrarre la sottostringa.
str.replace()
BIF?