# inserting characters at the start and end of a string

Posted on

### Question :

inserting characters at the start and end of a string

I am new and trying to find a way to insert a number of L’s at the beginning and end of a string. So if I have a string which says

“where did I put my cupcake this morning”

And I want to insert 1 L at the start and 2 L’s at the end, so it looks like: “Lwhere did I put my cupcake this morningLL” How do I do this. thank you

Strings are immutable so you can’t insert characters into an existing string. You have to create a new string. You can use string concatenation to do what you want:

``````yourstring = "L" + yourstring + "LL"
``````

Note that you can also create a string with n `L`s by using multiplication:

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

For completeness along with the other answers:

``````yourstring = "L%sLL" % yourstring
``````

Or, more forward compatible with Python 3.x:

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

You can also use join:

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

Result:

``````>>> yourstring
'LyourstringLL'
``````

If you want to insert other string somewhere else in existing string, you may use selection method below.

Calling character on second position:

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

Calling range with start and end position:

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

Calling part of a string before that position:

``````>>> s[:6]
'012345'
``````

Calling part of a string after that position:

``````>>> s[4:]
'456789'
``````

Inserting your string in 5th position.

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

Also `s` is equivalent to `s[:]`.

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

or if `"L"` is a some other string (for example I call it as `l`), then you may use that code:

``````>>> s = l + s + (l * 2)
``````

Adding to C2H5OH’s answer, in Python 3.6+ you can use format strings to make it a bit cleaner:

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

``````for x in range(0, [howmanytimes you want it at the beginning]):