我该如何插入字符串?
我知道在Python中可以用数组的方式来“切片”一个字符串,比如用 str[1:6]
,但是我该怎么“拼接”呢?也就是说,怎么把 str[1:6]
替换成另一个字符串,可能这个新字符串的长度还不一样?
6 个回答
15
你不能这样做,因为在Python中,字符串是不可改变的。
试试下面的方法:
new_s = ''.join((s[:1], new, s[6:]))
26
在Python中,字符串是不可改变的。这意味着你不能直接修改一个已经存在的字符串。你能做的最好的事情就是创建一个新的字符串:
t = s[:1] + "whatever" + s[6:]
7
没关系。我原以为会有一个内置的函数可以用,但我自己写了这个:
def splice(a,b,c,d=None):
if isinstance(b,(list,tuple)):
return a[:b[0]]+c+a[b[1]:]
return a[:b]+d+a[c:]
>>> splice('hello world',0,5,'pizza')
'pizza world'
>>> splice('hello world',(0,5),'pizza')
'pizza world'