143

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

“今天早上我把蛋糕放在哪里了”

我想在开头插入 1 L,在结尾插入 2 L,所以它看起来像:“我今天早上把蛋糕放在哪里了”我该怎么做。谢谢你

4

7 回答 7

171

字符串是不可变的,因此您不能将字符插入现有字符串。您必须创建一个新字符串。您可以使用字符串连接来做您想做的事情:

yourstring = "L" + yourstring + "LL"

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

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)
于 2012-04-08T00:47:09.790 回答
33

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

yourstring = "L%sLL" % yourstring

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

yourstring = "L{0}LL".format(yourstring)
于 2012-04-08T01:06:46.707 回答
32

您还可以使用连接:

yourstring = ''.join(('L','yourstring','LL'))

结果:

>>> yourstring
'LyourstringLL'
于 2012-04-08T01:00:20.783 回答
12

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

在第二个位置调用字符:

>>> s = "0123456789"
>>> s[2]
'2'

带有开始和结束位置的调用范围:

>>> s[4:6]
'45'

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

>>> s[:6]
'012345'

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

>>> s[4:]
'456789'

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

>>> s = s[:5] + "L" + s[5:]
>>> s
'01234L56789'

s相当于s[:].

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

>>> s = "L" + s + "LL"

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

>>> s = l + s + (l * 2)
于 2016-12-28T13:39:45.543 回答
11

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

s = "something about cupcakes"
print(f"L{s}LL")
于 2019-04-26T09:32:06.573 回答
2

假设我们有一个名为 yourstring 的字符串:

for x in range(0, [howmanytimes you want it at the beginning]):
    yourstring = "L" + yourstring
for x in range(0, [howmanytimes you want it at the end]):
    yourstring += "L"
于 2015-05-29T01:37:50.570 回答
2

您可以为此使用 f 字符串

foo = "where did I put my cupcake this morning"
bar = 'L'
foobar = f'{bar*10}{foo}'
print(foobar)

你可以用10你想把 L 放在你的字符串中的次数来替换,你也可以这样做

foo = "where did I put my cupcake this morning"
bar = 'L'
foobar = f'{bar*10}{foo}{bar*10}'
print(foobar)
于 2021-05-13T06:30:52.910 回答