Python | Get first element of each sublist
Last Updated :
21 Mar, 2023
Given a list of lists, write a Python program to extract first element of each sublist in the given list of lists. Examples:
Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
Output : [1, 3, 6]
Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']]
Output : ['x', 'm', 'a', 'u']
Approach #1 : List comprehension
Python3
# Python3 program to extract first and last
# element of each sublist in a list of lists
def Extract(lst):
return [item[0] for item in lst]
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
Time Complexity: O(n)
Space Complexity: O(n) (length of the list given as argument)
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. Thus, all the first element will become the first tuple of the zipped list. Returning the 0th element will thus, solve the purpose.
Python3
# Python3 program to extract first and last
# element of each sublist in a list of lists
def Extract(lst):
return list(list(zip(*lst))[0])
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
Time Complexity: O(n) (zip function has complexity of O(1) and conversion to list has O(n))
Space Complexity: O(n) (length of the list given as argument)
Another method of using zip is given below:-
Python3
def Extract(lst):
return list(next(zip(*lst)))
Approach #3 : Using itemgetter()
Python3
# 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(0), lst ))
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(Extract(lst))
Time Complexity: O(n) (itemgetter has O(1) and conversion to list O(n))
Space Complexity: O(n)
Approach #4 : Using reduce
You can use the reduce function from the functools library to iteratively apply a lambda function to the list of lists and build a new list containing the first elements of each sublist.
Python3
from functools import reduce
# Python3 program to extract first and last
# element of each sublist in a list of lists
def extract_first(lst):
return reduce(lambda acc, x: acc + [x[0]] if x else acc, lst, [])
# Driver code
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(extract_first(lst))
Time Complexity: O(n)
Space Complexity: O(n)
Method#5: using for loop
Approach
this approach uses a for loop to iterate through each sublist and append the first element of each sublist to a new list. The resulting list is returned.
Algorithm
1. Initialize an empty list to hold the first elements.
2. Iterate through each sublist.
3. For each sublist, append the first element to the list of first elements.
4. Return the list of first elements.
--
Python3
def get_first_element(list_of_lists):
first_elements = []
for sublist in list_of_lists:
first_elements.append(sublist[0])
return first_elements
list_of_lists = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
print(get_first_element(list_of_lists))
Time complexity: O(n), where n is the number of sublists in the input list. We iterate once over each sublist.
Space complexity: O(n), where n is the number of sublists in the input list. We create a new list to hold the first elements.
Similar Reads
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 co
3 min read
Get first element from a List of tuples - Python The goal here is to extract the first element from each tuple in a list of tuples. For example, given a list [(1, 'sravan'), (2, 'ojaswi'), (3, 'bobby')], we want to retrieve [1, 2, 3], which represents the first element of each tuple. There are several ways to achieve this, each varying in terms of
2 min read
Python | Getting sublist element till N Sometimes, we may come across a utility in which we require to get the first N sublist elements that too only a particular index. This can have an application in queuing to get only the initial N person's name. Let's discuss certain ways in which this can be done. Method #1: Using list comprehension
4 min read
Sorting List of Lists with First Element of Each Sub-List in Python In Python, sorting a list of lists by the first element of each sub-list is a common task. Whether you're dealing with data points, coordinates, or any other structured information, arranging the lists based on the values of their first elements can be crucial. In this article, we will sort a list o
3 min read
Get first and last elements of a list in Python The task of getting the first and last elements of a list in Python involves retrieving the initial and final values from a given list. For example, given a list [1, 5, 6, 7, 4], the first element is 1 and the last element is 4, resulting in [1, 4]. Using indexingThis is the most straightforward way
3 min read
Get first and last elements of a list in Python The task of getting the first and last elements of a list in Python involves retrieving the initial and final values from a given list. For example, given a list [1, 5, 6, 7, 4], the first element is 1 and the last element is 4, resulting in [1, 4]. Using indexingThis is the most straightforward way
3 min read