Skip to main content

Section 7.4 Index Operator: Working with the Characters of a String

The indexing operator (Python uses square brackets to enclose the index) selects a single character from a string. The characters are accessed by their position or index value. For example, in the string shown below, the 14 characters are indexed left to right from postion 0 to position 13.
It is also the case that the positions are named from right to left using negative numbers, where -1 is the rightmost index and so on. Note that the character at index 6 (or -8) is the blank character.
The expression school[2] selects the character at index 2 from school, and creates a new string containing just this one character. The variable one_char refers to the result.
Remember that computer scientists often start counting from zero. The letter at index zero of "Luther College" is L. So at position [2] we have the letter t.
If you want the zero-eth letter of a string (the first letter), you put 0, or any expression with the value 0, in the brackets. Give it a try.
The expression in brackets is called an index. An index specifies a member of an ordered collection; in this case, the collection of characters in the string. The index indicates which character you want. It can be any integer expression so long as it evaluates to a valid index value.
Note that indexing returns a string—Python has no special type for a single character. It is just a string of length 1.

Checkpoint 7.4.1.

    What is printed by the following statements?
    s = "python rocks"
    print(s[3])
    
  • t
  • Index locations do not start with 1, they start with 0.
  • h
  • Yes, index locations start with 0.
  • c
  • s[-3] would return "c", counting from right to left.
  • Error, you cannot use the [ ] operator with a string.
  • [ ] is the index operator

Checkpoint 7.4.2.

    What is printed by the following statements?
    s = "python rocks"
    print(s[2] + s[-5])
    
  • tr
  • Yes. The indexing operator has precedence over concatenation.
  • ps
  • p is at location 0, not 2.
  • nn
  • n is at location 5, not 2.
  • Error, you cannot use the [ ] operator with the + operator.
  • [ ] operator returns a string that can be concatenated with another string.