Python | Get last element of each sublist

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



filter_none

edit
close

play_arrow

link
brightness_4
code

# 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))

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

   
# 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))

chevron_right


Output:

(3, 5, 9)

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


 
Approach #3 : Using itemgetter()

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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))

chevron_right


Output:

[3, 5, 9]


My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.