# 5.1 More on Lists

The list data type has some more methods. Here are all of the methods of lists objects:

`insert(i, x)`
  Insert an item at a given position. The first argument is the index of the element before which to insert, so `a.insert(0, x)` inserts at the front of the list, and `a.insert(len(a), x)` is equivalent to `a.append(x)`.

`append(x)`
  Equivalent to `a.insert(len(a), x)`.

`index(x)`
  Return the index in the list of the first item whose value is `x`. It is an error if there is no such item.

`remove(x)`
  Remove the first item from the list whose value is `x`. It is an error if there is no such item.

`sort()`
  Sort the items of the list, in place.

`reverse()`
  Reverse the elements of the list, in place.

`count(x)`
  Return the number of times `x` appears in the list.

An example that uses all list methods:

    >>> a = [66.6, 333, 333, 1, 1234.5]
    >>> print a.count(333), a.count(66.6), a.count('x')
    2 1 0
    >>> a.insert(2, -1)
    >>> a.append(333)
    >>> a
    [66.6, 333, -1, 333, 1, 1234.5, 333]
    >>> a.index(333)
    1
    >>> a.remove(333)
    >>> a
    [66.6, -1, 333, 1, 1234.5, 333]
    >>> a.reverse()
    >>> a
    [333, 1234.5, 1, 333, -1, 66.6]
    >>> a.sort()
    >>> a
    [-1, 1, 66.6, 333, 333, 1234.5]
    >>>

- 5.1.1 Functional Programming Tools