4. List Methods¶
The dot operator can also be used to access built-in methods of list objects. append
is a list method which adds the argument passed to it to the end of the list. Continuing with this example, we show several other list methods. Many of them are easy to understand.
mylist = []
mylist.append(5)
mylist.append(27)
mylist.append(3)
mylist.append(12)
print(mylist)
mylist.insert(1, 12)
print(mylist)
print(mylist.count(12))
print(mylist.index(3))
print(mylist.count(5))
mylist.reverse()
print(mylist)
mylist.sort()
print(mylist)
mylist.remove(5)
print(mylist)
lastitem = mylist.pop()
print(lastitem)
print(mylist)
There are two ways to use the pop
method. The first, with no parameter, will remove and return the last item of the list. If you provide a parameter for the position, pop
will remove and return the item at that position. Either way the list is changed.
The following table provides a summary of the list methods shown above. In the column labeled “result”, the word mutator means that the list is changed by calling the method on it but nothing is returned (actually None
is returned). A hybrid method is one that not only changes the list but also returns a value as its result. Finally, if the result is simply a return, then the list is unchanged by the method.
Be sure to experiment with these methods to gain a better understanding of what they do.
Method | Parameters | Result | Description |
---|---|---|---|
append | item | mutator | Adds a new item to the end of a list |
insert | position, item | mutator | Inserts a new item at the position given |
pop | none | hybrid | Removes and returns the last item |
pop | position | hybrid | Removes and returns the item at position |
sort | none | mutator | Modifies a list to be sorted |
reverse | none | mutator | Modifies a list to be in reverse order |
index | item | return idx | Returns the position of first occurrence of item |
count | item | return ct | Returns the number of occurrences of item |
remove | item | mutator | Removes the first occurrence of item |
Details for these and other methods can be found in the Python Documentation.
It is important to remember that methods like append
, sort
, and reverse
all return None
. This means that re-assigning mylist
to the result of sorting mylist
will result in losing the entire list. Calls like these should never appear as part of an assignment statement (see line 8 below).
mylist = []
mylist.append(5)
mylist.append(27)
mylist.append(3)
mylist.append(12)
print(mylist)
mylist = mylist.sort() # error
print(mylist)
Check your understanding
What is printed by the following statements?
alist = [4, 2, 8, 6, 5]
alist.append(True)
alist.append(False)
print(alist)
What is printed by the following statements?
alist = [4, 2, 8, 6, 5]
alist.insert(2, True)
alist.insert(0, False)
print(alist)
What is printed by the following statements?
alist = [4, 2, 8, 6, 5]
temp = alist.pop(2)
temp = alist.pop()
print(alist)
What is printed by the following statements?
alist = [4, 2, 8, 6, 5]
alist = alist.pop(0)
print(alist)