Chapter 8. Strings
Strings are not like integers, floats, and booleans. A string is a sequence, which means it is an ordered collection of other values. In this chapter you’ll see how to access the characters that make up a string, and you’ll learn about some of the methods strings provide.
A String Is a Sequence
A string is a sequence of characters. You can access the characters one at a time with the bracket operator:
>>> fruit = 'banana' >>> letter = fruit[1]
The second statement selects character number 1 from fruit
and assigns it to letter
.
The expression in brackets is called an index. The index indicates which character in the sequence you want (hence the name).
But you might not get what you expect:
>>> letter 'a'
For most people, the first letter of 'banana'
is b
, not a
. But for computer scientists, the index is an offset from the beginning of the string, and the offset of the first letter is zero.
>>> letter = fruit[0] >>> letter 'b'
So b
is the 0th letter (“zero-eth”) of 'banana'
, a
is the 1th letter (“one-eth”), and n
is the 2th letter (“two-eth”).
As an index, you can use an expression that contains variables and operators:
>>> i = 1 >>> fruit[i] 'a' >>> fruit[i+1] 'n'
But the value of the index has to be an integer. Otherwise you get:
>>> letter = fruit[1.5] TypeError: string indices must be integers
len
len
is a built-in function that returns the number of characters in a string:
>>> fruit = 'banana' >>> len(fruit) 6
To get the last letter of a string, you might be tempted ...
Get Think Python, 2nd Edition now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.