Tuples are an essential data structure in Python, offering a convenient way to store ordered and immutable data collections.
In this blog, you’ll learn everything about tuples in Python, including creation, slicing, methods, and more.
Let’s jump right into it!🚀
Tuples in Python
Tuples are ordered collection of data items. In tuples, you can store multiple items in a single variable.
Tuples are immutable i.e. you can not change them after creation.
Creating Tuples
Tuples are defined using round brackets ()
and items are separated by commas.
A tuple can contain items of different data types.
For example:
tuple1 = (1,2,36,3,15)
tuple2 = ("Red", "Yellow", "Blue")
tuple3 = (1, "John",12, 5.3)
print(tuple1) # (1, 2, 36, 3, 15)
print(tuple2) # ('Red', 'Yellow', 'Blue')
print(tuple3) # (1, 'John', 12, 5.3)
Single-Item Tuples
To create a tuple with one item, add a comma after the item. Without a comma, Python will treat it as an integer type.
For example:
tuple1 = (1) # This is an integer.
print(type(tuple1)) # <class 'int'>
tuple2 = (1,) # This is a tuple.
print(type(tuple2)) # <class 'tuple'>
Length of Tuple
You can find the length of a tuple (number of items in a tuple) using len()
function.
For example:
tuple1 = (1,2,36,3,15)
lengthOfTuple = len(tuple1)
print(lengthOfTuple) # 5
Accessing Tuple Items
You can access tuple items/elements using indexing. Each element has its unique index.
Indexing starts from 0 for the first element, 1 for the second element, and so on.
For example:
fruits = ("Orange", "Apple", "Banana")
print(fruits[0]) # Orange
print(fruits[1]) # Apple
print(fruits[2]) # Banana
You can also access elements from the end of the tuple (-1 for the last element, -2 for the second-to-last element, and so on), this is called negative indexing.
For example:
fruits = ("Orange", "Apple", "Banana")
print(fruits[-1]) # Banana
print(fruits[-2]) # Apple
print(fruits[-3]) # Orange
# for understanding, you can consider this as fruits[len(fruits)-3]
Check if an item is present in the tuple
You can check whether an element is present in the tuple or not, using the in keyword.
Example 1:
fruits = ("Orange", "Apple", "Banana")
if "Orange" in fruits:
print("Orange is in the tuple.")
else:
print("Orange is not in the tuple.")
#Output: Orange is in the tuple.
Example 2:
numbers = (1, 57, 13)
if 7 in numbers:
print("7 is in the tuple.")
else:
print("7 is not in the tuple.")
# Output: 7 is not in the tuple.
Slicing Tuples
You can get a range of tuple items by giving start, end and jump(skip) parameters.
Syntax:
tupleName[start : end : jumpIndex]
Note: jump Index is optional.
Example 1:
# Printing elements within a particular range
numbers = (1, 57, 13, 6, 18, 54)
# using positive indexes(this will print the items starting from index 2 and ending at index 4 i.e. (5-1))
print(numbers[2:5])
# using negative indexes(this will print the items starting from index -5 and ending at index -3 i.e. (-2-1))
print(numbers[-5:-2])
Output:
(13, 6, 18)
(57, 13, 6)
Example 2:
When no end index is provided, the interpreter prints all the values till the end.
# Printing all elements from a given index to till the end
numbers = (1, 57, 13, 6, 18, 54)
# using positive indexes
print(numbers[2:])
# using negative indexes
print(numbers[-5:])
Output:
(13, 6, 18, 54)
(57, 13, 6, 18, 54)
Example 3:
When no start index is provided, the interpreter prints all the values from start up to the end index provided.
# Printing all elements from start to a given index
numbers = (1, 57, 13, 6, 18, 54)
#using positive indexes
print(numbers[:4])
#using negative indexes
print(numbers[:-2])
Output:
(1, 57, 13, 6)
(1, 57, 13, 6)
Example 4:
You can print alternate values by giving jump index.
# Printing alternate values
numbers = (1, 57, 13, 6, 18, 54)
# using positive indexes(here start and end indexes are not given and 2 is jump index.)
print(numbers[::2])
# using negative indexes(here start index is -2, end index is not given and 2 is jump index.)
print(numbers[-2::2])
Output:
(1, 13, 18)
(18)
Manipulating Tuples
Tuples are immutable, so items cannot be added, removed, or changed. However, you can convert a tuple to a list, modify the list, and convert it back to a tuple.
For example:
fruits = ("Apple", "Orange", "Plum", "Banana")
fruits_list = list(fruits) # Convert to list
fruits_list.append("Guava") # Modify the list
fruits = tuple(fruits_list) # Convert back to tuple
print(fruits)
# Output: ('Apple', 'Orange', 'Plum', 'Banana', 'Guava')
Concatenating Tuples
You can join two tuples using the +
operator.
For example:
fruits1 = ("Apple", "Orange", "Plum")
fruits2 = ("Banana", "Grapes")
fruits = fruits1+ fruits2
print(fruits)
Output:
('Apple', 'Orange', 'Plum', 'Banana', 'Grapes')
Tuple Methods
Tuple has the following built-in methods:
count()
This method returns the number of times an element appears in a tuple.
Syntax:
tuple.count(element)
For example:
tuple1 = (1, 57, 3, 6, 18, 3, 3)
count_3 = tuple1.count(3)
print(count_3) # Output: 3
index()
This method returns the first occurrence of the given element from the tuple.
Note: This method raises a ValueError
if the element is not found in the tuple.
For example:
tuple1 = (1, 57, 3, 6, 18, 54, 3)
numberIndex = tuple1.index(3)
print('Index of 3 in tuple1 is:', numberIndex)
# Output: Index of 3 in tuple1 is: 2
You can specify a start index for the search. For example:
tuple1 = (1, 57, 13, 6, 18, 54, 13)
numberIndex = tuple1.index(13, 3) # Start search at index 3
print(numberIndex)
# Output: 6
That’s all for today.
I hope it was helpful.
Thanks for reading.
I created detailed Python notes while learning the language, and they’re available for only $1! Grab them here: Download Now
For more content like this click here.
Follow me on X(Twitter) for daily web development tips.
Keep Coding!!
Top comments (8)
When I used to program heavily in Swift, I LOVED tuples. I'm just really getting into Python and learning, so I'm happy my passion with tuples can be re-ignited! Thanks for sharing how they work in Python. I will be referring back to this as I work.
Side Note: It would be cool if you added why tuples can be so helpful and why devs should consider using them. I think that would add a lot of value to this guide for those unfamiliar with tuples.
Thank you so much for your feedback!
I appreciate it😊
Awesome Post!
Thanks for your feedback!
I didn't know tuples had a count feature! That's useful!
I'm glad you found it useful!
Great guide Shefali. Thanks for creating and sharing it
Thanks a lot for your feedback, Lucian!