Python Tuples
A tuple in Python is an immutable ordered collection of elements. Tuples are similar to lists, but unlike lists, they cannot be changed after their creation (i.e., they are immutable). Tuples can hold elements of different data types. The main characteristics of tuples are being ordered , heterogeneous and immutable.
Creating a Tuple
A tuple is created by placing all the items inside parentheses (), separated by commas. A tuple can have any number of items and they can be of different data types.
Example:
tup = ()
print(tup)
# Using String
tup = ('Geeks', 'For')
print(tup)
# Using List
li = [1, 2, 4, 5, 6]
print(tuple(li))
# Using Built-in Function
tup = tuple('Geeks')
print(tup)
Output
() ('Geeks', 'For') (1, 2, 4, 5, 6) ('G', 'e', 'e', 'k', 's')
Let's understand tuple in detail:
Creating a Tuple with Mixed Datatypes.
Tuples can contain elements of various data types, including other tuples, lists, dictionaries and even functions.
Example:
tup = (5, 'Welcome', 7, 'Geeks')
print(tup)
# Creating a Tuple with nested tuples
tup1 = (0, 1, 2, 3)
tup2 = ('python', 'geek')
tup3 = (tup1, tup2)
print(tup3)
# Creating a Tuple with repetition
tup1 = ('Geeks',) * 3
print(tup1)
# Creating a Tuple with the use of loop
tup = ('Geeks')
n = 5
for i in range(int(n)):
tup = (tup,)
print(tup)
Output
(5, 'Welcome', 7, 'Geeks') ((0, 1, 2, 3), ('python', 'geek')) ('Geeks', 'Geeks', 'Geeks') ('Geeks',) (('Geeks',),) ((('Geeks',),),) (((('Geeks',),),),) ((((('Geeks',),),),),)
Python Tuple Basic Operations
Below are the Python tuple operations.
- Accessing of Python Tuples
- Concatenation of Tuples
- Slicing of Tuple
- Deleting a Tuple
Accessing of Tuples
We can access the elements of a tuple by using indexing and slicing, similar to how we access elements in a list. Indexing starts at 0 for the first element and goes up to n-1, where n is the number of elements in the tuple. Negative indexing starts from -1 for the last element and goes backward.
Example:
# Accessing Tuple with Indexing
tup = tuple("Geeks")
print(tup[0])
# Accessing a range of elements using slicing
print(tup[1:4])
print(tup[:3])
# Tuple unpacking
tup = ("Geeks", "For", "Geeks")
# This line unpack values of Tuple1
a, b, c = tup
print(a)
print(b)
print(c)
Output
G ('e', 'e', 'k') ('G', 'e', 'e') Geeks For Geeks
Concatenation of Tuples
Tuples can be concatenated using the + operator. This operation combines two or more tuples to create a new tuple.
Note: Only the same datatypes can be combined with concatenation, an error arises if a list and a tuple are combined.
tup1 = (0, 1, 2, 3)
tup2 = ('Geeks', 'For', 'Geeks')
tup3 = tup1 + tup2
print(tup3)
Output
(0, 1, 2, 3, 'Geeks', 'For', 'Geeks')
Slicing of Tuple
Slicing a tuple means creating a new tuple from a subset of elements of the original tuple. The slicing syntax is tuple[start:stop:step].
Note- Negative Increment values can also be used to reverse the sequence of Tuples.
tup = tuple('GEEKSFORGEEKS')
# Removing First element
print(tup[1:])
# Reversing the Tuple
print(tup[::-1])
# Printing elements of a Range
print(tup[4:9])
Output
('E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S') ('S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G') ('S', 'F', 'O', 'R', 'G')
Deleting a Tuple
Since tuples are immutable, we cannot delete individual elements of a tuple. However, we can delete an entire tuple using del statement.
Note: Printing of Tuple after deletion results in an Error.
tup = (0, 1, 2, 3, 4)
del tup
print(tup)
Output
ERROR!
Traceback (most recent call last):
File "<main.py>", line 6, in <module>
NameError: name 'tup' is not defined
Recent Articles on Tuple
Tuples Programs
- Print unique rows in a given boolean Strings
- Program to generate all possible valid IP addresses from given string
- Python Dictionary to find mirror characters in a string
- Generate two output strings depending upon occurrence of character in input string in Python
- Python groupby method to remove all consecutive duplicates
- Convert a list of characters into a string
- Remove empty tuples from a list
- Reversing a Tuple
- Python Set symmetric_difference()
- Convert a list of Tuples into Dictionary
- Sort a tuple by its float element
- Count occurrences of an element in a Tuple
- Count the elements in a list until an element is a Tuple
- Sort Tuples in Increasing Order by any key
- Namedtuple in Python
Useful Links:
- Output of Python Programs
- Recent Articles on Python Tuples
- Multiple Choice Questions – Python
- All articles in Python Category