Python | Merge elements of sublists

Given two lists containing sublists, the task is to merge elements of sublist of two lists in a single list.

Examples:

Input:
list1 = [[1, 20, 30],
         [40, 29, 72], 
         [119, 123, 115]]

list2 = [[29, 57, 64, 22],
         [33, 66, 88, 15], 
         [121, 100, 15, 117]]

Output: [[1, 20, 30, 29, 57, 64, 22],
         [40, 29, 72, 33, 66, 88, 15],
         [119, 123, 115, 121, 100, 15, 117]]

 
Method #1: Using Map + lambda

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to merge elements of sublists
  
# Initialisation of first list
list1 = [[1, 20, 30],
         [40, 29, 72],
         [119, 123, 115]]
  
# Initialisation of second list
list2 = [[29, 57, 64, 22],
         [33, 66, 88, 15],
         [121, 100, 15, 117]]
  
# Using map + lambda to merge lists
Output = list(map(lambda x, y:x + y, list1, list2))
  
# Printing output
print(Output)

chevron_right


Output:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15], 
 [119, 123, 115, 121, 100, 15, 117]]

 
Method #2: Using Zip()

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to merge elements of sublists
  
# Initialisation of first list
list1 = [[1, 20, 30],
         [40, 29, 72],
         [119, 123, 115]]
  
# Initialisation of second list
list2 = [[29, 57, 64, 22],
         [33, 66, 88, 15],
         [121, 100, 15, 117]]
  
# Using zip to merge lists
Output = [x + y for x, y in zip(list1, list2)]
  
# Printing output
print(Output)

chevron_right


Output:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15],
 [119, 123, 115, 121, 100, 15, 117]]

 
Method #3: Using starmap() and concat()

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to merge elements of sublists
  
from operator import concat
from itertools import starmap
  
# Initialisation of first list
list1 = [[1, 20, 30],
         [40, 29, 72],
         [119, 123, 115]]
  
# Initialisation of second list
list2 = [[29, 57, 64, 22],
         [33, 66, 88, 15], 
         [121, 100, 15, 117]]
  
# Using starmap() and concat to merge list
Output = list(starmap(concat, zip(list1, list2)))
  
# Printing output
print(Output)

chevron_right


Output:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15],
 [119, 123, 115, 121, 100, 15, 117]]


My Personal Notes arrow_drop_up