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() 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
Get a back-end job without spending $10k on a bootcamp
- Build the professional projects you need to land your first job
- Spend about 6 months (when done part-time)
- Pricing as low as $24/month*
- No risk. Cancel anytime.
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