The len function, when applied to a string, returns the number of characters in a string.

To get the last letter of a string, you might be tempted to try something like this:

That won’t work. It causes the runtime error IndexError: string index out of range. The reason is that there is no letter at index position 6 in "Banana". Since we started counting at zero, the six indexes are numbered 0 to 5. To get the last character, we have to subtract 1 from length. Give it a try in the example above.

Typically, a Python programmer will access the last character by combining the two lines of code from above.

lastch = fruit[len(fruit)-1]

Check your understanding


You can leave out len(s) entirely in the above expression and get the same result using negative indexing (i.e., try replacing the last line with print s[-5]. This offers another intuition for why negative indexing starts at -1 rather than at -0.

Next Section - The Slice Operator