tuple() Function in Python
The Python tuple() function is a built-in function in Python that can be used to create a tuple. A tuple is an ordered and immutable sequence type.
Example:
l = [1,2,3]
print(tuple(l))
Output:
(1, 2, 3)
Python tuple() Syntax
Syntax: tuple(iterable)
- iterable (optional): It is an iterable(list, range etc..) or an iterator object
- If an iterable is passed, the corresponding tuple is created,
- else, an empty tuple is created.
Return: Returns a Tuple
It raises a TypeError, if an iterable is not passed. Below programs illustrate tuple() function in Python.
tuple() in Python Function Examples
Create tuples using tuple()
In this example, we are creating a tuple() in Python and printing it.
# when parameter is not passed
tuple1 = tuple()
print("empty tuple:", tuple1)
# when an iterable(e.g., list) is passed
list1= [ 1, 2, 3, 4 ]
tuple2 = tuple(list1)
print("list to tuple:", tuple2)
# when an iterable(e.g., string) is passed
string = "geeksforgeeks";
tuple4 = tuple(string)
print("str to tuple:", tuple4)
Output :
empty tuple: ()
list to tuple: (1, 2, 3, 4)
str to tuple: ('g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's')
Errors when using Tuple
Program demonstrating the TypeError using tuple()
# Python3 program demonstrating
# the TypeError in tuple() function
# Error when a non-iterable is passed
tuple1 = tuple(1)
print(tuple1)
Output :
Traceback (most recent call last):
File "/home/eaf759787ade3942e8b9b436d6c60ab3.py", line 5, in
tuple1=tuple(1)
TypeError: 'int' object is not iterable
Accessing Values in Tuples
In this example, we are creating a tuple and we are accessing the element from index 1 to 3.
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[1:4])
Output :
(2, 3, 4)
Deleting a Tuple
In this example, we are creating a tuple and we are deleting it and after the deletion, we are trying to access the deleted tuple.
my_tuple = (1, 2, 3, 4, 5)
del my_tuple
print(my_tuple)
Output :
print(my_tuple)
NameError: name 'my_tuple' is not defined
Creating a Tuple From dict
In this example, we are creating a dict and we then use the items() method of the dictionary to get a list of tuples, where each tuple contains a key-value from dict.
my_dict = {'apple': 1, 'banana': 2, 'cherry': 3}
my_tuple = tuple(my_dict.items())
print(my_tuple)
Output :
(('apple', 1), ('banana', 2), ('cherry', 3))
Tuple() Built-In Functions
Here are some examples of built-in functions in tuples.
len() with Python Tuple
It returns the number of elements in a tuple.
my_tuple = tuple((1, 2, 3))
print(len(my_tuple))
Output :
3
max() with Python Tuple
It returns the largest element in a tuple.
my_tuple = tuple((1, 2, 3))
print(max(my_tuple))
Output :
3
min() with Python Tuple
It returns the smallest element in a tuple.
my_tuple = tuple((1, 2, 3))
print(min(my_tuple))
Output :
1
sum() with Python Tuple
It returns the sum of all the elements in a tuple.
my_tuple = tuple((1, 2, 3))
print(sum(my_tuple))
Output :
6
sorted() with Python Tuple
It returns a new sorted list containing the elements of the tuple.
my_tuple = tuple((3, 2, 1))
sorted_tuple = tuple(sorted(my_tuple))
print(sorted_tuple)
Output :
(1,2,3)
Advantages Of Tuple Over List
Python supports both tuples and lists as data structures that may be used to hold a collection of data. Nevertheless, there are certain benefits to utilising tuples rather than lists.
- Tuples cannot be changed.
- Tuples are faster than lists.
- Tuples can be used as dictionary keys.