Open In App
Related Articles

Python – Create a List of Tuples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

List and tuples both are data structures in Python, with some differences. Lists are mutable data structures whereas tuples are immutable (can not be changed after creating it).

We can make a list that contains tuples as elements. This practice is useful for data structuring, memory efficiency, and data security as tuples are immutable. In this article, we will discuss multiple ways by which we can create a list of tuples in Python.

How to Create a List of Tuples in Python

To create and return list of tuples in Python, you can use the following methods:

  1. list() and tuple() method.
  2. zip() method
  3. zip() and iter() method
  4. map() method
  5. List comprehension and tuple() method
  6. Using built-in functions

Create a List of Tuples Using list() and tuple() methods

We can create a list of tuples using list and tuples directly.

Syntax: [(tuple1),(tuple2),(tuple3),..,(tuple n)]

Example: Python code to create a list of tuples using list and tuple

Python3

# create tuples with college id and
# name and store in a list
data = [(1, 'sravan'), (2, 'ojaswi'), (3, 'bobby'),
        (4, 'rohith'), (5, 'gnanesh')]
 
# display data
data

                    

Output:

[(1, 'sravan'), (2, 'ojaswi'), (3, 'bobby'), (4, 'rohith'), (5, 'gnanesh')]

Create a List of Tuples Using zip() function

Using the zip() function we can create a list of tuples from n lists.

Syntax: list(zip(list1,list2,.,listn)

Here, lists are the data (separate lists which are elements like tuples in the list

Example: Python program to create two lists  with college ID and name  and create a list of tuples using zip() function

Python3

# create two lists  with college id and name
roll_no = [1, 2, 3, 4, 5]
name = ['sravan', 'ojaswi', 'bobby', 'rohith', 'gnanesh']
 
# zip the two lists using zip() function
data = list(zip(roll_no, name))
 
# display data
data

                    

Output:

[(1, 'sravan'), (2, 'ojaswi'), (3, 'bobby'), (4, 'rohith'), (5, 'gnanesh')]

Create a List of Tuples Using Using zip() and iter() method

Here we are going to form a list of tuples using iter() function along with zip() function.

Syntax: [x for x in zip(*[iter(list)])]

where x is the iterator to iterate in the list, zip is used to zip the list, and iter() is used to iterate through the entire  list

Example: Python code to create a list of tuples by forming a list of tuples

Python3

# create a list with name
name = ['sravan', 'ojaswi', 'bobby', 'rohith', 'gnanesh']
 
# zip the two lists using iter() function
data = [x for x in zip(*[iter(name)])]
 
# display data
data

                    

Output:

[('sravan',), ('ojaswi',), ('bobby',), ('rohith',), ('gnanesh',)]

Create a List of Tuples Using map() function

Here we are passing the data in a list and then using the map() function we can create a list of tuples

Syntax: list(map(tuple, list_data))

Here, list_data is the input list to create a list of tuples, the list is a predefined function and the tuple is a predefined function

Example: Python code to create a list of tuples from the list using map() function

Python3

# create a list with name
name = [['sravan'], ['ojaswi'], ['bobby'],
        ['rohith'], ['gnanesh']]
 
# create list of tuple using above
# list using map function
data = list(map(tuple, name))
 
# display data
data

                    

Output:

[('sravan',), ('ojaswi',), ('bobby',), ('rohith',), ('gnanesh',)]

Create a List of Tuples Using list comprehension and tuple() method

Here we are using List comprehension and tuple() to create a list of tuples.

Syntax:

[tuple(x) for x in list_data]

where tuple(x) is an iterator to convert iterative objects to a tuple and list_data is the input data

Example: Python code to create a list of tuples using list comprehension and tuple() method

Python3

# create a list with name
name = [['sravan'], ['ojaswi'], ['bobby'],
        ['rohith'], ['gnanesh']]
 
# create list of tuple using above list
# using  list comprehension and tuple()
# method
data = [tuple(x) for x in name]
 
# display data
data

                    

Output:

[('sravan',), ('ojaswi',), ('bobby',), ('rohith',), ('gnanesh',)]


Create a List of Tuples without using built-in functions

Here’s an example of how you can create a list of tuples without using any built-in functions like list() or tuple().

Python3

# Function to create a list of tuples
def create_list_of_tuples(lst1, lst2):
    result = []  # Empty list to store the tuples
    for i in range(len(lst1)):
        # Create a tuple from corresponding elements
        tuple_element = (lst1[i], lst2[i])
        result.append(tuple_element)  # Append the tuple to the list
    return result
 
 
# Example usage
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list_of_tuples = create_list_of_tuples(list1, list2)
print(list_of_tuples)

                    

Output:

[(1, 'a'), (2, 'b'), (3, 'c')]

Using the above methods and printing the list will return a list of tuples. Creating or returning a list of tuples is easier than you thought, we have explained 6 ways to create a list of tuples.

Also Read:



Last Updated : 27 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads