Noktalı virgülleri (i-belirtilen konumlarda) iki nokta üst üste ile değiştirmeye çalışan bu basit kod çalışmaz:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
Hata veriyor
line[i]=":"
TypeError: 'str' object does not support item assignment
Noktalı virgülleri iki nokta üst üste ile değiştirmek için bu sorunu nasıl çözebilirim? Değiştirmeyi kullanmak, bu işlev indeks almadığından çalışmaz - değiştirmek istemediğim bazı noktalı virgüller olabilir.
Misal
Dizede herhangi bir sayıda noktalı virgül olabilir, örneğin "Hei der!; Merhaba;!;"
Hangilerini değiştirmek istediğimi biliyorum (onların dizini dizede var). Onunla bir dizin kullanamadığım için değiştir'i kullanmak işe yaramıyor.
str.find() Bunun yerine noktalı virgülün konumunu bulmak için kullanın , ardından alt dizeyi çıkarmak için dilimlemeyi kullanın.
str.replace()BIF'i biliyor musunuz ?