在字符串的开头和结尾插入字符

use*_*219 83 python

我是新手,并试图找到一种方法在字符串的开头和结尾插入一些L's.所以,如果我有一个字符串说

"今天早上我把蛋糕放在哪里"

我想在开始时插入1 L,在最后插入2 L',所以看起来像:"我今晚把我的蛋糕放在哪里LL"我该怎么做.谢谢

Mar*_*ers 116

字符串是不可变的,因此您无法在现有字符串中插入字符.您必须创建一个新字符串.您可以使用字符串连接来执行您想要的操作:

yourstring = "L" + yourstring + "LL"
Run Code Online (Sandbox Code Playgroud)

请注意,您还可以L使用乘法创建一个包含n s 的字符串:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)
Run Code Online (Sandbox Code Playgroud)


C2H*_*5OH 26

为了完整性以及其他答案:

yourstring = "L%sLL" % yourstring
Run Code Online (Sandbox Code Playgroud)

或者,与Python 3.x更向前兼容:

yourstring = "L{0}LL".format(yourstring)
Run Code Online (Sandbox Code Playgroud)

  • 对于第二个例子,只使用.format的一个参数'0'是不必要的,对吗? (2认同)
  • @quapka正确 (2认同)

Aka*_*all 23

你也可以使用join:

yourstring = ''.join(('L','yourstring','LL'))
Run Code Online (Sandbox Code Playgroud)

结果:

>>> yourstring
'LyourstringLL'
Run Code Online (Sandbox Code Playgroud)


rya*_*lon 11

添加到C2H5OH 的答案,在 Python 3.6+ 中,您可以使用格式字符串使其更清晰:

s = "something about cupcakes"
print(f"L{s}LL")
Run Code Online (Sandbox Code Playgroud)


XCa*_*anG 6

如果要在现有字符串的其他位置插入其他字符串,则可以使用下面的选择方法。

第二个位置的调用字符:

>>> s = "0123456789"
>>> s[2]
'2'
Run Code Online (Sandbox Code Playgroud)

带有起始和结束位置的通话范围:

>>> s[4:6]
'45'
Run Code Online (Sandbox Code Playgroud)

在该位置之前调用字符串的一部分:

>>> s[:6]
'012345'
Run Code Online (Sandbox Code Playgroud)

在该位置之后调用字符串的一部分:

>>> s[4:]
'456789'
Run Code Online (Sandbox Code Playgroud)

将您的字符串插入第5个位置。

>>> s = s[:5] + "L" + s[5:]
>>> s
'01234L56789'
Run Code Online (Sandbox Code Playgroud)

s等于s[:]

对于您的问题,您可以使用所有字符串,即

>>> s = "L" + s + "LL"
Run Code Online (Sandbox Code Playgroud)

或者如果"L"是其他字符串(例如,我称其为l),则可以使用该代码:

>>> s = l + s + (l * 2)
Run Code Online (Sandbox Code Playgroud)