- 3 Ways to Get Last Element of a List In Python
- Understanding Python list
- Methods to get the last element of a list in Python
- Get the last element of a list using list[-1] in Python
- Get the last element of a list using pop Method in Python
- Get the last element of a list using indexing in Python
- IndexError in Python List
- 6 ways to get the last element of a list in Python
- Get last item of a list using negative indexing
- Frequently Asked:
- Get last item of a list using list.pop()
- Get last item of a list by slicing
- Get last item of a list using itemgetter
- Get last item of a list through Reverse Iterator
- Get last item of a list by indexing
- Related posts:
3 Ways to Get Last Element of a List In Python
Python is a versatile language that can be used for all sorts of tasks. In this blog post, we will discuss how to get the last element in a list using three different methods. Each method has its own advantages and disadvantages, so it’s important to understand them all before deciding which one to use in your own code. Let’s get started!
Understanding Python list
A list is a data structure in Python that is a mutable, ordered sequence of elements. Mutable means that you can change the items inside, while the ordered sequence is in reference to index location.
The first element in a list will always be located at index 0. Each element or value that is inside of a list is called an item. Lists are defined in Python by enclosing a comma-separated sequence of objects in square brackets ([]). So, if we want to get the last element in a list, we can just use index -1.
Methods to get the last element of a list in Python
There are 3 ways to get the last element of a list in Python.
- Using list[-1]: last_element=list[-1]
- Using list.pop() method: last_element=list.pop()
- Using list indexing: last_element=list[len(list) – 1]
Let’s see these approaches one by one.
Get the last element of a list using list[-1] in Python
The most effective way to get the last element of a list in Python is using the list[-1]. Python allows you to use negative indices, which count from the end of the list instead of the beginning. So list[-1] gets the last element, list[-2] gets the second to last. The list[-1] is the most preferable, shortest, and Pythonic way to get the last element.
To create a list in Python, use the square brackets and add the items in the list separated by commas.
>>> data = []
>>> for i in range(10):
… data.append(i)
In this list, the 9 element is the last item, and to access that element, write the following code.
last_element = data[-1]
What this code will do is that it will pluck the last element and store it into the last_element, and we can print the element using the print() function.
last_element = data[-1]
print(last_element)
Output
9
Get the last element of a list using pop Method in Python
The list.pop() in the Python method removes and returns the object at the given index (passed as an argument) from a list.
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
last_element = data.pop()
print(last_element)
Output
9
Now data=[0, 1, 2, 3, 4, 5, 6, 7, 8]
Get the last element of a list using indexing in Python
As the indexing in a list starts from 0th index. So, if our list length is S, then we can get the last element of a list by selecting item at index position S-1.
Let’s understand this by an example.
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# get element at index position size-1
last_elem = data[len(data) – 1]
print(‘Last Element: ‘, last_elem)
IndexError in Python List
If the expected item does not exist, then it will throw an IndexError. This means that list[-1] will raise an exception if the list is empty because an empty list can’t have the last element.
data = []
last_element = data[-1]
print(last_element)
Output
Traceback (most recent call last):
File «/Users/krunal/Desktop/code/pyt/database/app.py», line 3, in
last_element = data[-1]
IndexError: list index out of range
As we can see that we got: IndexError: list index out of range
David is a Cloud & DevOps Enthusiast. He has years of experience as a Linux engineer. He had working experience in AMD, EMC. He likes Linux, Python, bash, and more. He is a technical blogger and a Software Engineer. He enjoys sharing his learning and contributing to open-source.
howtouselinux.com is dedicated to providing comprehensive information on using Linux.
We hope you find our site helpful and informative.
6 ways to get the last element of a list in Python
In this article, we will discuss six different ways to get the last element of a list in python.
Get last item of a list using negative indexing
List in python supports negative indexing. So, if we have a list of size “S”, then to access the Nth element from last we can use the index “-N”. Let’s understand by an example,
Suppose we have a list of size 10,
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
To access the last element i.e. element at index 9 we can use the index -1,
# Get last element by accessing element at index -1 last_elem = sample_list[-1] print('Last Element: ', last_elem)
Similarly, to access the second last element i.e. at index 8 we can use the index -2.
Frequently Asked:
Using negative indexing, you can select elements from the end of list, it is a very efficient solution even if you list is of very large size. Also, this is the most simplest and most used solution to get the last element of list. Let’s discuss some other ways,
Get last item of a list using list.pop()
In python, list class provides a function pop(),
It accepts an optional argument i.e. an index position and removes the item at the given index position and returns that. Whereas, if no argument is provided in the pop() function, then the default value of index is considered as -1. It means if the pop() function is called without any argument then it removes the last item of list and returns that.
Let’s use this to remove and get the last item of the list,
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # Remove and returns the last item of list last_elem = sample_list.pop() print('Last Element: ', last_elem)
The main difference between this approach and previous one is that, in addition to returning the last element of list, it also removes that from the list.
Get last item of a list by slicing
We can slice the end of list and then select first item from it,
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # Get a Slice of list, that contains only last item and select that item last_elem = sample_list[-1:][0] print('Last Element: ', last_elem)
We created a slice of list that contains only the last item of list and then we selected the first item from that sliced list. It gives us the last item of list. Although it is the most inefficient approach, it is always good to know different options.
Get last item of a list using itemgetter
Python’s operator module provides a function,
It returns a callable object that fetches items from its operand using the operand’s __getitem__() method. Let’s use this to get the last item of list by passing list as an operand and index position -1 as item to be fetched.
import operator sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] last_elem = operator.itemgetter(-1)(sample_list) print('Last Element: ', last_elem)
It gives us the last item of list.
Get last item of a list through Reverse Iterator
In this solution we are going to use two built-in functions,
- reversed() function : It accepts a sequence and returns a Reverse Iterator of that sequence.
- next() function: It accepts an iterator and returns the next item from the iterator.
So, let’s use both the reversed() and next() function to get the last item of a list,
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # get Reverse Iterator and fetch first element from reverse direction last_elem = next(reversed(sample_list), None) print('Last Element: ', last_elem)
It gives us the last item of list.
How did it work?
By calling the reversed() function we got a Reverse Iterator and then we passed this Reverse Iterator to the next() function. Which returned the next item from the iterator.
As it was a Reverse Iterator of our list sequence, so it returned the first item in reverse order i.e. last element of the list.
Get last item of a list by indexing
As the indexing in a list starts from 0th index. So, if our list is of size S, then we can get the last element of list by selecting item at index position S-1.
Let’s understand this by an example,
sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # get element at index position size-1 last_elem = sample_list[len(sample_list) - 1] print('Last Element: ', last_elem)
It gives us the last item of list.
Using the len() function we got the size of the list and then by selecting the item at index position size-1, we fetched the last item of the list.
So, here we discussed 6 different ways to fetch the last element of a list, although first solution is the simplest, efficient and most used solution. But it is always good to know other options, it gives you exposure to different features of language. It might be possible that in future, you might encounter any situation where you need to use something else, like in 2nd example we deleted the last element too after fetching its value.
The Complete example is as follows,
import operator def main(): print('*** Get last item of a list using negative indexing ***') sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # Get last element by accessing element at index -1 last_elem = sample_list[-1] print('Last Element: ', last_elem) print('*** Get last item of a list using list.pop() ***') sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # Remove and returns the last item of list last_elem = sample_list.pop() print('Last Element: ', last_elem) print('*** Get last item of a list by slicing ***') sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] last_elem = sample_list[-1:][0] print('Last Element: ', last_elem) print('*** Get last item of a list using itemgetter ***') sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] last_elem = operator.itemgetter(-1)(sample_list) print('Last Element: ', last_elem) print('*** Get last item of a list through Reverse Iterator ***') sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # get Reverse Iterator and fetch first element from reverse direction last_elem = next(reversed(sample_list), None) print('Last Element: ', last_elem) print("*** Get last item of a list by indexing ***") sample_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # get element at index position size-1 last_elem = sample_list[len(sample_list) - 1] print('Last Element: ', last_elem) if __name__ == '__main__': main()
*** Get last item of a list using negative indexing *** Last Element: 9 *** Get last item of a list using list.pop() *** Last Element: 9 *** Get last item of a list by slicing *** Last Element: 9 *** Get last item of a list using itemgetter *** Last Element: 9 *** Get last item of a list through Reverse Iterator *** Last Element: 9 *** Get last item of a list by indexing *** Last Element: 9