While lists aren’t the most efficient data structure if you’ll be doing lots of deleting from the middle, there are definitely good ways to accomplish the task. The built-in
[remove()](https://python-reference.readthedocs.io/en/latest/docs/list/remove.html) method should be your first option. Let’s go over some examples.
Remove element in Python list by value
primes = [2, 3, 5, 5, 7, 11] primes.remove(5) print(primes) # [2, 3, 5, 7, 11] primes.remove(5) # [2, 3, 7, 11] primes.remove(5) # careful, this will throw an error # ValueError: list.remove(x): x not in list
If you want to safely remove items, and you aren’t sure if they exist in the list or not, you can either catch the error:
try: primes.remove(5) except Exception as e: print("not in list")
Or, you can check for existence first:
if 5 in primes: primes.remove(5)
Remove an element in Python list by index
del statement is a built-in keyword that allows you to remove items from lists. The simplest example deletes the item at a given index.
primes = [2, 3, 5, 5, 7, 11] # delete the second item del primes print(primes) # [2, 5, 5, 7, 11]
Again, you need to be careful. If the index doesn’t exist an error will be raised.
primes = [2, 3, 5, 5, 7, 11] # delete the eleventh item del primes
IndexError: list assignment index out of range
if len(primes) >= 10: del primes
Learn Go by writing Go code
I'm a senior engineer learning Go, and the pace of Boot.dev's Go Mastery courses has been perfect for me. The diverse community in Discord makes the weekly workshops a blast, and other members are quick to help out with detailed answers and explanations.
- Daniel Gerep from Cassia, Brasil
Remove multiple of items from a python list
primes = [2, 3, 5, 5, 7, 11] # deleting items from 2nd to 4th del primes[1:4] print(primes) # [2, 7, 11]
Remove item by index and return it
.pop() method removes an item from a list by index and returns that item.
primes = [2, 3, 5, 7] # pop the second element popped = primes.pop(1) print("popped:", popped) # 3 print("list:", primes) # [2, 5, 7]
If you don’t pass an index parameter to
pop() it will default to
-1 and remove the last element from the list. Just like the other methods, if you pass in a number too large, you’ll get the following error.
IndexError: pop index out of range