Skip to content
Related Articles

Related Articles

Python | Get last element of each sublist

View Discussion
Improve Article
Save Article
  • Last Updated : 06 May, 2019

Given a list of lists, write a Python program to extract the last element of each sublist in the given list of lists.

Examples:

Input : [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
Output : [3, 5, 9]

Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']]
Output : ['z', 'm', 'b', 'v']

 
Approach #1 : List comprehension




# Python3 program to extract first and last 
# element of each sublist in a list of lists
  
def Extract(lst):
    return [item[-1] for item in lst]
      
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(Extract(lst))

Output:

[3, 5, 9]

 
Approach #2 : Using zip and unpacking(*) operator

This method uses zip with * or unpacking operator which passes all the items inside the ‘lst’ as arguments to zip function. There is a little trick with extracting last item of list, Instead of using direct zip, use the reversed list iterators.




   
# Python3 program to extract first and last 
# element of each sublist in a list of lists
  
def Extract(lst):
    return list(zip(*[reversed(el) for el in lst]))[0]
      
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(Extract(lst))

Output:

(3, 5, 9)

Another way of using zip is to use it with Python map, passing reversed as function.




def Extract(lst):
    return list(list(zip(*map(reversed, lst)))[0])

 
Approach #3 : Using itemgetter()




# Python3 program to extract first and last 
# element of each sublist in a list of lists
from operator import itemgetter
  
def Extract(lst):
    return list( map(itemgetter(-1), lst ))
      
# Driver code
lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
print(Extract(lst))

Output:

[3, 5, 9]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!