Open In App

Python – List of tuples to multiple lists

Last Updated : 08 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss how to convert a List of tuples to multiple lists. We can convert list of tuples to multiple lists by using the map() function

Syntax: map(list, zip(*list_of_tuples)

Example:

Input: [('a', 'b', 'c'), (1,2,3), ('1','3','4')]
Output: ['a', 'b', 'c'], [1, 2, 3], ('1', '3', '4')

Example 1: Python code to display a list of tuples and display them.

Python3




# list of tuple for student data
# with both integer and strings
a = [(1, 2,3,4,5),
     ("sravan","bobby","ojaswi","rohith","Gnanesh"),
     (96,89,78,90,78)]
 
# display
print("Original list of tuple")
print(a)
 
# list of tuple for student data
# with both integer and strings
a = [(1, 2,3,4,5),
     ("sravan","bobby","ojaswi","rohith","Gnanesh"),
     (96,89,78,90,78)]
 
# convert list of tuple to multiple lists
data = map(list, zip(*a))
 
print("")
 
# display
print("List")
for i in data:
  print(i)


Output:

Original list of tuple

[(1, 2, 3, 4, 5), (‘sravan’, ‘bobby’, ‘ojaswi’, ‘rohith’, ‘Gnanesh’), (96, 89, 78, 90, 78)]

List

[1, ‘sravan’, 96]

[2, ‘bobby’, 89]

[3, ‘ojaswi’, 78]

[4, ‘rohith’, 90]

[5, ‘Gnanesh’, 78]

Time complexity: O(n), where n is the length of the original list of tuples.

Auxiliary space: O(n), as we create a new list of lists with the same number of elements as the original list of tuples.

Example 2: Python code to convert a list of tuples to multiple lists

Python3




# list of tuple for student
# data with both integer and strings
a = [(1, 2,3,4,5),
     ("sravan","bobby","ojaswi","rohith","Gnanesh"),
     (96,89,78,90,78),
     ("kakumanu","kakumanu","hyd","hyd","hyd")]
 
# convert list of tuple to multiple lists
data = map(list, zip(*a))
 
# display
for i in data:
  print(i)


Output:

[1, 'sravan', 96, 'kakumanu']
[2, 'bobby', 89, 'kakumanu']
[3, 'ojaswi', 78, 'hyd']
[4, 'rohith', 90, 'hyd']
[5, 'Gnanesh', 78, 'hyd']

Method 3 using numpy 

This code uses the numpy library to convert the list of tuples to a numpy array, transpose it, and then convert it back to a list. Finally, it prints out each element of the resulting list.

Python3




import numpy as np
 
# list of tuple for student data
# with both integer and strings
a = [(1, 2,3,4,5),
     ("sravan","bobby","ojaswi","rohith","Gnanesh"),
     (96,89,78,90,78),
     ("kakumanu","kakumanu","hyd","hyd","hyd")]
 
# convert list of tuple to numpy array
data = np.array(a).T.tolist()
 
# display
for i in data:
  print(i)


OUTPUT:
['1', 'sravan', '96', 'kakumanu']
['2', 'bobby', '89', 'kakumanu']
['3', 'ojaswi', '78', 'hyd']
['4', 'rohith', '90', 'hyd']
['5', 'Gnanesh', '78', 'hyd']

The time complexity of the np.array() function in numpy is O(n) where n is the number of elements in the input list.

The space complexity of the code is O(n) as well.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads