这段简单的代码试图用冒号替换分号(在i指定的位置),但不起作用:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
它给出了错误
line[i]=":"
TypeError: 'str' object does not support item assignment
如何解决这个问题,用冒号替换分号?使用replace不起作用,因为该函数不接受索引-可能有一些分号我不想替换。
示例
在字符串中,我可以有任意数量的分号,例如“Hei der!;你好;!;“
我知道我要替换哪些(字符串中有它们的索引)。使用replace不起作用,因为我不能对它使用索引。
将字符串转换为列表;然后可以单独更改字符。然后你可以把它和
.join
放在一起:python中的字符串是不可变的,因此不能将它们视为列表并分配给索引。
请改用^{} :
如果只需要替换某些分号,则需要更具体。可以使用切片来隔离要替换的字符串部分:
这将替换字符串前10个字符中的所有分号。
如果不想使用
.replace()
,可以执行以下操作,在给定索引处用相应的字符替换任何字符相关问题 更多 >
编程相关推荐