我怎样拼接一个字符串?

mpe*_*pen 13 python string

我知道我可以使用数组表示法在Python中切割字符串:str[1:6]但是我如何拼接它?即,替换str[1:6]为另一个字符串,可能是不同的长度?

Sve*_*ach 18

字符串在Python中是不可变的.你能做的最好的是构造一个新的字符串:

t = s[:1] + "whatever" + s[6:]
Run Code Online (Sandbox Code Playgroud)


Rom*_*huk 13

你不能这样做,因为Python中的字符串是不可变的.

试试下一个:

new_s = ''.join((s[:1], new, s[6:]))
Run Code Online (Sandbox Code Playgroud)

  • 对于只有三个字符串,如果您的字符串短于几个KB,则“”“ .join()`会比+ +慢。 (2认同)

mpe*_*pen 5

没关系。以为可能有内置功能。改成这样:

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'
Run Code Online (Sandbox Code Playgroud)