вставка символов в начало и конец строки

103

Я новичок и пытаюсь найти способ вставить несколько букв L в начало и конец строки. Итак, если у меня есть строка, в которой говорится

"куда я положил кекс сегодня утром"

И я хочу вставить 1 литр в начале и 2 литра в конце, чтобы это выглядело так: «Куда я положил свой кекс сегодня утром?» Как мне это сделать. Спасибо

user1319219
источник

Ответы:

132

Строки неизменяемы, поэтому вы не можете вставлять символы в существующую строку. Вам нужно создать новую строку. Вы можете использовать конкатенацию строк, чтобы делать то, что хотите:

yourstring = "L" + yourstring + "LL"

Обратите внимание, что вы также можете создать строку с n Ls, используя умножение:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)
Марк Байерс
источник
27

Для полноты вместе с другими ответами:

yourstring = "L%sLL" % yourstring

Или, более совместимый с Python 3.x:

yourstring = "L{0}LL".format(yourstring)
C2H5OH
источник
3
Во втором примере использование только одного аргумента для .format «0» не нужно, верно?
quapka
@quapka: Это необходимо, если код должен быть совместим с Python 2.6
Хуберт Карио
26

Вы также можете использовать join:

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

Результат:

>>> yourstring
'LyourstringLL'
Акавалл
источник
10

Если вы хотите вставить другую строку где-то еще в существующей строке, вы можете использовать метод выбора ниже.

Вызывающий персонаж на второй позиции:

>>> 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)
XCanG
источник
4

Добавляя к ответу C2H5OH , в Python 3.6+ вы можете использовать строки формата, чтобы сделать его немного чище:

s = "something about cupcakes"
print(f"L{s}LL")
ryanjdillon
источник
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"
ytpillai
источник
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 ».

Сумеречный Дуд
источник