Lists are ordered sequences that can contain a wide range of object types. Lists can also have duplicate members. Lists in Python can be compared to arrays in other programming languages. But there is one significant difference. Arrays can only contain elements of the same data type, whereas Python lists can contain items of various data types.
Python Lists include a number of methods for removing items from the list.
This article will go over various methods for removing a single or multiple elements from a list.
Examples:
Input:
givenlist=["hello", "this", "is", "Btech", "Geeks"] , index=2
Output:
["hello", "this", "Btech", "Geeks"]
Remove values from the List Using Indexes or Indices
There are several ways to remove elements from the list using Indexes or Indices some of them are:
>Method#1: Using del keyword
“del list object [index]” can be used to exclude an item from a list based on its index location.
The del keyword, on the other hand, will raise IndexError if the list is empty or the specified index is out of range.
# Function which removes the element at given index and returns list def removeIndex(givenlist, index): # deleting the index del givenlist[index] # return the list return givenlist # Driver code # given list givenlist = ["hello", "this", "is", "Btech", "Geeks"] # given index which is to be removed index = 2 # passing list and index to removeIndex function to remove the element print(removeIndex(givenlist, index))
Output:
['hello', 'this', 'Btech', 'Geeks']
It removed the element at position 2 . But what if we try to delete an element with an out-of-range index?
As an example,
we will delete the element at index 10(which doesn’t in this list) the output is:
del givenlist[index] IndexError: list assignment index out of range
Because the given index was out of bounds, it raised an IndexError. The index position was greater than the
list’s length. To avoid this index error, we should always check to see if the given index is valid.
Below is the implementation:
# Function which removes the element at given index and returns list def removeIndex(givenlist, index): # deleting the index if(index < len(givenlist)): del givenlist[index] # return the list return givenlist # Driver code # given list givenlist = ["hello", "this", "is", "Btech", "Geeks"] # given index which is to be removed index = 2 # passing list and index to removeIndex function to remove the element print(removeIndex(givenlist, index))
Output:
['hello', 'this', 'Btech', 'Geeks']
>Method #2: Using pop() function
The list class in Python has a function pop(index) that removes an item from the list at the given index.
However, if the list is empty or the given index is out of range, the pop() function may throw an IndexError.
As a result, we should exercise caution when using this function to delete an item from a list based on its index position.
We wrote a function that deletes an element from a list based on its index. It uses the pop() function internally,
but first checks to see if the given index is valid. Let us illustrate with an example:
# Function which removes the element at given index and returns list def removeIndex(givenlist, index): # using pop() function if index < len(givenlist): givenlist.pop(index) # returning the list return givenlist # Driver code # given list givenlist = ["hello", "this", "is", "Btech", "Geeks"] # given index which is to be removed index = 2 # passing list and index to removeIndex function to remove the element print(removeIndex(givenlist, index))
Output:
['hello', 'this', 'Btech', 'Geeks']
The function removeIndex() accepts two arguments,
- A givenlist from which an element must be removed.
- An index that represents the place in the given list where an element must be removed.
>Method #3: Using slicing
In each of the previous solutions, we changed the list while it was still in place. Slicing, on the other hand, can be used to create a new list by removing the element at a given index from the original list.
To delete an element at index N, for example, divide the list into three parts.
- Elements ranging from 0 to N-1
- Element at index position N
- Elements starting at index position N+1 and continuing to the end of the list.
Below is the implementation:
# Function which removes the element at given index and returns list def removeIndex(givenlist, index): # using slicing givenlist = givenlist[:index] + givenlist[index+1:] # returning the list return givenlist # Driver code # given list givenlist = ["hello", "this", "is", "Btech", "Geeks"] # given index which is to be removed index = 2 # passing list and index to removeIndex function to remove the element print(removeIndex(givenlist, index))
Output:
['hello', 'this', 'Btech', 'Geeks']
>Method #4 : Using indices to remove multiple elements
Assume we have a list of 7 elements and want to remove the elements at indexes 1, 5, and 6. We can’t just name the pop after iterating over the specified index positions (index). The element at a given index will be removed by the pop() function, and the index location of all elements after the deleted elements will change as a result (decrease by 1).
The best approach is to sort the index positions in decreasing order and then call the pop() function on the highest to lowest index positions. To make this process as simple as possible, we’ve built a function.
Based on the specified index positions, it may remove multiple elements from a list.
# Function which removes the element at given index and returns list def removeIndex(givenlist, indices): # sorting indices list in reverse order indices = sorted(indices, reverse=True) # Traverse the indices list for index in indices: if index < len(givenlist): givenlist.pop(index) # returning the list return givenlist # Driver code # given list givenlist = ["hello", "this", "is", "Btech", "Geeks"] # given indices list which are to be removed indices = [1, 2, 3] # passing list and indices list to removeIndex function to remove the element print(removeIndex(givenlist, indices))
Output:
['hello', 'Geeks']
Related Programs:
- python remove elements from list by value
- python numpy select elements or indices by conditions from numpy array
- python how to remove multiple elements from list
- python set remove single or multiple elements from a set
- python how to remove characters from a string by index
- delete elements from a numpy array by value or conditions in python
- how to remove elements from a list while iterating in c