Ten prosty kod, który po prostu próbuje zastąpić średniki (w pozycjach określonych i) dwukropkami, nie działa:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
Daje błąd
line[i]=":"
TypeError: 'str' object does not support item assignment
Jak mogę to obejść, aby zastąpić średniki dwukropkami? Korzystanie z zamiany nie działa, ponieważ ta funkcja nie przyjmuje indeksu - mogą istnieć średniki, których nie chcę zastępować.
Przykład
W ciągu znaków mógłbym mieć dowolną liczbę średników, np. „Hej!; Witam;!;”
Wiem, które z nich chcę zamienić (mam ich indeks w ciągu). Używanie zamiany nie działa, ponieważ nie mogę użyć z nim indeksu.
str.find() zamiast tego, aby znaleźć pozycję średnika, a następnie użyj wycinania, aby wyodrębnić podciąg.
str.replace()BIF?