【发布时间】:2021-05-13 14:30:52
【问题描述】:
我是新手,正在尝试找到一种在字符串的开头和结尾插入多个 L 的方法。所以如果我有一个字符串,上面写着
“今天早上我把蛋糕放在哪里了”
我想在开头插入 1 L,在结尾插入 2 L,所以它看起来像:“L 今天早上我把纸杯蛋糕放在哪里了”我该怎么做。谢谢
【问题讨论】:
标签: python
我是新手,正在尝试找到一种在字符串的开头和结尾插入多个 L 的方法。所以如果我有一个字符串,上面写着
“今天早上我把蛋糕放在哪里了”
我想在开头插入 1 L,在结尾插入 2 L,所以它看起来像:“L 今天早上我把纸杯蛋糕放在哪里了”我该怎么做。谢谢
【问题讨论】:
标签: python
字符串是不可变的,因此您不能将字符插入现有字符串。您必须创建一个新字符串。您可以使用字符串连接来做您想做的事情:
yourstring = "L" + yourstring + "LL"
请注意,您还可以使用乘法创建一个带有 n Ls 的字符串:
m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)
【讨论】:
为了完整性以及其他答案:
yourstring = "L%sLL" % yourstring
或者,更向前兼容 Python 3.x:
yourstring = "L{0}LL".format(yourstring)
【讨论】:
你也可以使用join:
yourstring = ''.join(('L','yourstring','LL'))
结果:
>>> yourstring
'LyourstringLL'
【讨论】:
如果您想在现有字符串的其他位置插入其他字符串,您可以使用下面的选择方法。
第二个位置的调用字符:
>>> 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)
【讨论】:
添加到C2H5OH's answer,在 Python 3.6+ 中,您可以使用格式字符串使其更简洁:
s = "something about cupcakes"
print(f"L{s}LL")
【讨论】:
假设我们有一个名为 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"
【讨论】:
您可以为此使用 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)
【讨论】: