PY0101EN 1 2 Strings
PY0101EN 1 2 Strings
PY0101EN 1 2 Strings
<a href="https://cocl.us/NotebooksPython101">
<img src="https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass
</a>
String Operations
Welcome! This notebook will teach you about the string operations in the Python Programming
Language. By the end of this notebook, you’ll know the basics string operations in Python, includ-
ing indexing, escape sequences and operations.
Table of Contents
<ul>
<li>
<a href="#strings">What are Strings?</a>
</li>
<li>
<a href="#index">Indexing</a>
<ul>
<li><a href="neg">Negative Indexing</a></li>
<li><a href="slice">Slicing</a></li>
<li><a href="stride">Stride</a></li>
<li><a href="concat">Concatenate Strings</a></li>
</ul>
</li>
<li>
<a href="#escape">Escape Sequences</a>
</li>
<li>
<a href="#operations">String Operations</a>
</li>
<li>
<a href="#quiz">Quiz on Strings</a>
</li>
</ul>
<p>
Estimated time needed: <strong>15 min</strong>
</p>
What are Strings?
The following example shows a string contained within 2 quotation marks:
1
[ ]: # Use quotation marks for defining string
"Michael Jackson"
'Michael Jackson'
'1 2 3 4 5 6 '
'@#2_#]&*^%$'
print("hello!")
Indexing
It is helpful to think of a string as an ordered sequence. Each element in the sequence can be
accessed using an index represented by the array of numbers:
The first index can be accessed as follows:
[ ]: # Print the first element in the string
print(Name[0])
2
print(Name[6])
print(Name[13])
Negative Indexing
We can also use negative indexing with strings:
Negative index can help us to count the element from the end of the string.
The last element is given by the index -1:
[ ]: # Print the last element in the string
print(Name[-1])
print(Name[-15])
We can find the number of characters in a string by using len, short for length:
[ ]: # Find the length of string
len("Michael Jackson")
Slicing
We can obtain multiple characters from a string using slicing, we can obtain the 0 to 4th and 8th
to the 12th element:
[Tip]: When taking the slice, the first number means the index (start at 0), and the second number
means the length from the index to the last element you want (start at 1)
Name[0:4]
Name[8:12]
Stride
We can also input a stride value as follows, with the ‘2’ indicating that we are selecting every second
variable:
3
[ ]: # Get every second element. The elments on index 1, 3, 5 ...
Name[::2]
We can also incorporate slicing with the stride. In this case, we select the first five elements and
then use the stride:
[ ]: # Get every second element in the range from index 0 to index 4
Name[0:5:2]
Concatenate Strings
We can concatenate or combine strings by using the addition symbols, and the result is a new string
that is a combination of both:
[ ]: # Concatenate two strings
To replicate values of a string we simply multiply the string by the number of times we would like
to replicate it. In this case, the number is three. The result is a new string, and this new string
consists of three copies of the original string:
[ ]: # Print the string for 3 times
3 * "Michael Jackson"
You can create a new string by setting it to the original variable. Concatenated with a new string,
the result is a new string that changes from Michael Jackson to “Michael Jackson is the best”.
[ ]: # Concatenate strings
Escape Sequences
Back slashes represent the beginning of escape sequences. Escape sequences represent strings that
may be difficult to input. For example, back slash “n” represents a new line. The output is given
by a new line after the back slash “n” is encountered:
[ ]: # New line escape sequence
4
[ ]: # Tab escape sequence
If you want to place a back slash in your string, use a double back slash:
[ ]: # Include back slash in string
We can also place an “r” before the string to display the backslash:
[ ]: # r will tell python that string will be display as raw string
String Operations
There are many string operation methods in Python that can be used to manipulate the data. We
are going to use some basic string operations on the data.
Let’s try with the method upper; this method converts lower case characters to upper case charac-
ters:
[ ]: # Convert all the characters in string to upper case
The method replace replaces a segment of the string, i.e. a substring with a new string. We input
the part of the string we would like to change. The second argument is what we would like to
exchange the segment with, and the result is a new string with the segment changed:
[ ]: # Replace the old substring with the new target substring is the segment has␣
,→been found in the string
The method find finds a sub-string. The argument is the substring you would like to find, and the
output is the first index of the sequence. We can find the sub-string jack or el.
[ ]: # Find the substring in the string. Only the index of the first elment of␣
,→substring in string will be the output
5
[ ]: # Find the substring in the string.
Name.find('Jack')
If the sub-string is not in the string then the output is a negative one. For example, the string
‘Jasdfasdasdf’ is not a substring:
[ ]: # If cannot find the substring in the string
Name.find('Jasdfasdasdf')
Quiz on Strings
What is the value of the variable A after the following code is executed?
[1]: # Write your code below and press Shift+Enter to execute
A = "1"
B = "2"
C = A + B
D = "ABCDEFG"
E = 'clocrkr1e1c1t'
6
Print out a backslash:
[6]: # Write your code below and press Shift+Enter to execute
print('\\')
\
Double-click here for the solution.
Convert the variable F to uppercase:
[7]: # Write your code below and press Shift+Enter to execute
G = "Mary had a little lamb Little lamb, little lamb Mary had a little lamb \
Its fleece was white as snow And everywhere that Mary went Mary went, Mary went␣
,→\
G.find('snow')
[8]: 95
7
<p><a href="https://cocl.us/NotebooksPython101bottom"><img src="https://s3-api.us-geo.objectsto
About the Authors:
Joseph Santarcangelo is a Data Scientist at IBM, and holds a PhD in Electrical Engineering. His
research focused on using Machine Learning, Signal Processing, and Computer Vision to determine
how videos impact human cognition. Joseph has been working for IBM since he completed his
PhD.
Other contributors: Mavis Zhou
Copyright © 2018 IBM Developer Skills Network. This notebook and its source code are released
under the terms of the MIT License.