Python – Combine list with other list elements
Given two lists, combine list with each element of the other list.
Examples:
Input : test_list = [3, 5, 7], pair_list = [‘Gfg’, ‘is’, ‘best’]
Output : [([3, 5, 7], ‘Gfg’), ([3, 5, 7], ‘is’), ([3, 5, 7], ‘best’)]
Explanation : All lists paired with each element from other list.Input : test_list = [3, 5, 7], pair_list = [‘Gfg’, ‘best’]
Output : [([3, 5, 7], ‘Gfg’), ([3, 5, 7], ‘best’)]
Explanation : All lists paired with each element from other list.
Method #1 : Using zip() + len() + list()
In this, we pair each element using zip(), with all the elements of other list using len(), and picking each element at once.
Python3
# Python3 code to demonstrate working of # Combine list with other list elements # Using zip() + len() + list() # initializing list test_list = [ 3 , 5 , 7 , 9 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing pair list pair_list = [ 'Gfg' , 'is' , 'best' ] # using zip() to pair element with pair list size res = list ( zip ([test_list] * len (pair_list), pair_list)) # printing result print ( "The paired list : " + str (res)) |
The original list is : [3, 5, 7, 9] The paired list : [([3, 5, 7, 9], 'Gfg'), ([3, 5, 7, 9], 'is'), ([3, 5, 7, 9], 'best')]
Time Complexity: O(n) where n is the number of elements in the list “test_list”. zip() + len() + list() performs n number of operations.
Auxiliary Space: O(n), extra space of size n is required
Method #2 : Using product()
In this, we pair the elements using product(), and map each list with each element in pair list.
Python3
# Python3 code to demonstrate working of # Combine list with other list elements # Using product() from itertools import product # initializing list test_list = [ 3 , 5 , 7 , 9 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing pair list pair_list = [ 'Gfg' , 'is' , 'best' ] # product() performs pairing of elements res = list (product([test_list], pair_list)) # printing result print ( "The paired list : " + str (res)) |
The original list is : [3, 5, 7, 9] The paired list : [([3, 5, 7, 9], 'Gfg'), ([3, 5, 7, 9], 'is'), ([3, 5, 7, 9], 'best')]
Method #3: Using append() and tuple() methods
Python3
# Python3 code to demonstrate working of # Combine list with other list elements # initializing list test_list = [ 3 , 5 , 7 , 9 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing pair list pair_list = [ 'Gfg' , 'is' , 'best' ] res = [] for i in pair_list: x = [] x.append(test_list) x.append(i) x = tuple (x) res.append(x) # printing result print ( "The paired list : " + str (res)) |
The original list is : [3, 5, 7, 9] The paired list : [([3, 5, 7, 9], 'Gfg'), ([3, 5, 7, 9], 'is'), ([3, 5, 7, 9], 'best')]
Method #4: Using map() function and lambda function
Step-by-step algorithm:
- Define two lists, test_list and pair_list.
- Use map() and lambda to create a list of tuples where each tuple contains the entire test_list and one element from pair_list.
- Convert the resulting map object to a list and store it in the variable res.
- Print the original list and the paired list.
Python3
# define the test_list and pair_list test_list = [ 3 , 5 , 7 , 9 ] pair_list = [ 'Gfg' , 'is' , 'best' ] # use map() and lambda to create a list of tuples where each tuple contains the entire test_list and one element from pair_list res = list ( map ( lambda x: (test_list, x), pair_list)) # printing original list and paired list print ( "The original list is : " + str (test_list)) print ( "The paired list : " + str (res)) |
The original list is : [3, 5, 7, 9] The paired list : [([3, 5, 7, 9], 'Gfg'), ([3, 5, 7, 9], 'is'), ([3, 5, 7, 9], 'best')]
Time complexity:
The time complexity of the algorithm is O(n), where n is the length of pair_list. This is because the lambda function is executed for each element in pair_list, and the map() function has a time complexity of O(n).
Auxiliary space:
The auxiliary space complexity of the algorithm is O(n), where n is the length of pair_list. This is because the list res has a space complexity of O(n), which is the same as the space complexity of pair_list.
Please Login to comment...