Skip to main content
Engineering LibreTexts

8.2: Lists are mutable

  • Page ID
    3133
  • The syntax for accessing the elements of a list is the same as for accessing the characters of a string: the bracket operator. The expression inside the brackets specifies the index. Remember that the indices start at 0:

    >>> print(cheeses[0])
    Cheddar

    Unlike strings, lists are mutable because you can change the order of items in a list or reassign an item in a list. When the bracket operator appears on the left side of an assignment, it identifies the element of the list that will be assigned.

     

    >>> numbers = [17, 123]
    >>> numbers[1] = 5
    >>> print(numbers)
    [17, 5]

    The one-eth element of numbers, which used to be 123, is now 5.

     

    You can think of a list as a relationship between indices and elements. This relationship is called a mapping; each index "maps to" one of the elements.

     

    List indices work the same way as string indices:

    • Any integer expression can be used as an index.

    • If you try to read or write an element that does not exist, you get an IndexError.

     

    • If an index has a negative value, it counts backward from the end of the list.

     

    The in operator also works on lists.

    >>> cheeses = ['Cheddar', 'Edam', 'Gouda']
    >>> 'Edam' in cheeses
    True
    >>> 'Brie' in cheeses
    False