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


100

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

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

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

Answers:


132

字符串是不可变的,因此您不能在现有字符串中插入字符。您必须创建一个新字符串。您可以使用字符串串联来执行所需的操作:

yourstring = "L" + yourstring + "LL"

请注意,您还可以L使用乘法来创建具有n s 的字符串:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)

27

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

yourstring = "L%sLL" % yourstring

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

yourstring = "L{0}LL".format(yourstring)

3
对于第二个示例,仅对.format使用一个参数就不需要'0',对吗?
quapka 2014年

@quapka:如果代码需要与Python 2.6兼容是必要的
Hubert Kario

26

您还可以使用join:

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

结果:

>>> yourstring
'LyourstringLL'

9

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

第二个位置的调用字符:

>>> 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)

4

在Python 3.6及更高版本中,将C2H5OH的答案添加进去,您可以使用格式字符串使其更加简洁:

s = "something about cupcakes"
print(f"L{s}LL")

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"

0

我正在通过用户输入呈现URL。如果用户输入包含两个单词的字符串,我想在中间用+打印该单词

key = input("Enter the product :")

URL = "http://exmaple.com/"

print (URL)

User input: iphone 11

对于上面的代码,我得到的URL为“ http://exmaple.com/iphone 11”

但我想将URL打印为“ http://exmaple.com/iphone+11

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.