David Y.
—I’ve seen a few different ways to remove an item from a list in Python:
del
(e.g. del mylist[2]
).remove()
(e.g. mylist.remove(2)
).pop()
. (e.g. mylist.pop(2)
)What are the advantages and disadvantages of each and when should I use one rather than another?
While these three methods remove an item from a list, they all work differently.
The del
method is useful when deleting an item at a specific position in the list. For example:
mylist = ['a', 'b', 'c', 'd'] del mylist[2] # will delete the item at index 2, that is 'c' print(mylist) # will print ['a', 'b', 'd']
We can even delete multiple items by using a slice:
mylist = ['a', 'b', 'c', 'd'] del mylist[1:3] # will delete the items at indices 1 and 2, that is 'b' and 'c' print(mylist) # will print ['a', 'd']
The list.remove()
method is useful when deleting an item by value, regardless of its position. It searches the list for the provided value and deletes the first one it finds, raising a ValueError
exception if it does not find the item. For example:
mylist = ['a', 'b', 'c', 'c', 'd'] mylist.remove('c') print(mylist) # will print ['a', 'b', 'c', 'd'] mylist.remove('c') # will remove the remaining 'c' print(mylist) # will print ['a', 'b', 'd'] try: mylist.remove('c') # will raise a value error as there is no 'c' except ValueError: print('Value not found in list.')
The list.pop()
method called without any arguments allows us to use a Python list as a stack, removing and returning the last item in the list.
mylist = ['a', 'b', 'c', 'd'] popped = mylist.pop() print(popped) # will print 'd' print(mylist) # will print ['a', 'b', 'c']
You can specify an optional index argument for pop
to remove and return the item at a specific position:
mylist = ['a', 'b', 'c', 'd'] popped = mylist.pop(2) print(popped) # will print 'c' print(mylist) # will print ['a', 'b', 'd']
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.
Here’s a quick look at how Sentry handles your personal information (PII).
×We collect PII about people browsing our website, users of the Sentry service, prospective customers, and people who otherwise interact with us.
What if my PII is included in data sent to Sentry by a Sentry customer (e.g., someone using Sentry to monitor their app)? In this case you have to contact the Sentry customer (e.g., the maker of the app). We do not control the data that is sent to us through the Sentry service for the purposes of application monitoring.
Am I included?We may disclose your PII to the following type of recipients:
You may have the following rights related to your PII:
If you have any questions or concerns about your privacy at Sentry, please email us at compliance@sentry.io.
If you are a California resident, see our Supplemental notice.