Related Articles

# Python | Split nested list into two lists

• Last Updated : 10 Apr, 2019

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()`

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

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

 `# 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]
```

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up