Removing Elements From a List¶
The clear, pop, and remove list methods mutate (change) the
original list.
clear Example¶
The general syntax for this method is:
list_name.clear()
clear removes all elements from a list. The list still exists, but it is
empty.
No arguments go inside the ().
Example
1 2 3 4 5 | mt_list = ['This', 'list', 'of', 9, 'elements', 'will', 'soon', 'be', 'empty!']
mt_list.clear()
print(mt_list)
print(len(mt_list)) # Print the length of the list
|
Output
[]
0
pop Examples¶
The general syntax for this method is:
list_name.pop(index)
pop removes the element at index from the list. However, providing an
index value is optional. If left blank, pop() removes the last item
from the list.
In addition to removing an item from the list, pop also returns that
value. This means list_name.pop(index) can be printed or assigned to a
variable.
Example
1 2 3 4 5 6 7 8 | a_list = [100, 99, 98, 97, 96]
a_list.pop(2) # Removes and returns the element at index 2
print(a_list)
removed_element = a_list.pop() # Removes and returns the last element
print(removed_element)
print(a_list)
|
Output
[100, 99, 97, 96]
96
[100, 99, 97]
remove Examples¶
The general syntax for remove is:
list_name.remove(value)
This method removes the FIRST element in a list that matches value.
value may be of any data type.
If Python does not find value inside the list, it throws an error, and the
program will likely crash.
Example
1 2 3 4 5 6 7 | b_list = [89, 88, 87, 88, 89, 80, 88]
b_list.remove(88) # Removes the first 88 from the list (index 1).
print(b_list)
b_list.remove(77) # Throws an error.
print(b_list)
|
Output
[89, 87, 88, 89, 80, 88]
Line 6:
b_list.remove(77) # Throws an error.
ValueError: list.remove(x): x not in list
To remove ALL elements that match value, we must repeatedly call the
method. One approach is to use a while loop.
Example
1 2 3 4 5 | b_list = [89, 88, 87, 88, 89, 80, 88]
while b_list.count(88) > 0: # The condition checks if there are still values to remove.
b_list.remove(88)
print(b_list)
|
Output
[89, 87, 88, 89, 80, 88]
[89, 87, 89, 80, 88]
[89, 87, 89, 80]
