Skip to content
Related Articles

Related Articles

Python | Split nested list into two lists

View Discussion
Improve Article
Save Article
  • Last Updated : 29 Jul, 2022
View Discussion
Improve Article
Save Article

Given a nested 2D list, the task is to split the nested list into two lists such that first list contains first elements of each sublists and second list contains second element of each sublists. Method #1: Using map, zip() 

Python3




# Python code to demonstrate
# splitting nested list
# into 2 lists
 
# initialising nested lists
ini_list = [[1, 2], [4, 3], [45, 65], [223, 2]]
 
# printing initial lists
print ("initial list", str(ini_list))
 
# code to split it into 2 lists
res1, res2 = map(list, zip(*ini_list))
 
# printing result
print("final lists", res1, "\n", res2)

Output:

initial list [[1, 2], [4, 3], [45, 65], [223, 2]]
final lists [1, 4, 45, 223] 
 [2, 3, 65, 2]

  Method #2: Using list comprehension 

Python3




# python code to demonstrate
# splitting nested list
# into 2 lists
 
# initialising nested lists
ini_list = [[1, 2], [4, 3], [45, 65], [223, 2]]
 
# printing initial lists
print ("initial list", str(ini_list))
 
# code to split it into 2 lists
res1 = [i[1] for i in ini_list]
res2 = [i[0] for i in ini_list]
 
# printing result
print("final lists", str(res1), "\n", str(res2))

Output:

initial list [[1, 2], [4, 3], [45, 65], [223, 2]]
final lists [2, 3, 65, 2] 
 [1, 4, 45, 223]

  Method #3: Using operator.itemgetter() 

Python3




# python code to demonstrate
# splitting nested list
# into 2 lists
 
from operator import itemgetter
 
# initialising nested lists
ini_list = [[1, 2], [4, 3], [45, 65], [223, 2]]
 
# printing initial lists
print ("initial list", str(ini_list))
 
# code to split it into 2 lists
res1 = list(map(itemgetter(0), ini_list))
res2 = list(map(itemgetter(1), ini_list))
 
# printing result
print("final lists", str(res1), "\n", str(res2))

Output:

initial list [[1, 2], [4, 3], [45, 65], [223, 2]]
final lists [1, 4, 45, 223] 
 [2, 3, 65, 2]

Method #4 : Using extend() method

Python3




# python code to demonstrate
# splitting nested list
# into 2 lists
 
# initialising nested lists
ini_list = [[1, 2], [4, 3], [45, 65], [223, 2]]
 
# printing initial lists
print ("initial list", str(ini_list))
x=[]
for i in ini_list:
    x.extend(i)
res1=[]
res2=[]
for i in range(0,len(x)):
    if(i%2==0):
        res1.append(x[i])
    else:
        res2.append(x[i])
# printing result
print("final lists", str(res1), "\n", str(res2))

Output

initial list [[1, 2], [4, 3], [45, 65], [223, 2]]
final lists [1, 4, 45, 223] 
 [2, 3, 65, 2]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!