Python Tuples

In Python, a tuple is an immutable sequence of items, meaning once created, its elements cannot be changed. Tuples are often used to group related data.

Creating a Tuple

You can create a tuple by placing elements inside parentheses (), separated by commas.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Creating tuples
empty_tuple = () # An empty tuple
numbers = (1, 2, 3, 4, 5) # A tuple of integers
mixed = (1, "hello", 3.14, True) # A tuple with mixed data types
print(numbers) # Output: (1, 2, 3, 4, 5)
# Creating tuples empty_tuple = () # An empty tuple numbers = (1, 2, 3, 4, 5) # A tuple of integers mixed = (1, "hello", 3.14, True) # A tuple with mixed data types print(numbers) # Output: (1, 2, 3, 4, 5)
# Creating tuples
empty_tuple = ()  # An empty tuple
numbers = (1, 2, 3, 4, 5)  # A tuple of integers
mixed = (1, "hello", 3.14, True)  # A tuple with mixed data types

print(numbers)  # Output: (1, 2, 3, 4, 5)

Try It Now

Accessing Tuple Elements

Like lists, you can access tuple elements using their index. Tuples are also zero-indexed.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Accessing elements
fruits = ("apple", "banana", "cherry")
print(fruits[0]) # Output: apple
print(fruits[2]) # Output: cherry
# Accessing elements fruits = ("apple", "banana", "cherry") print(fruits[0]) # Output: apple print(fruits[2]) # Output: cherry
# Accessing elements
fruits = ("apple", "banana", "cherry")

print(fruits[0])  # Output: apple
print(fruits[2])  # Output: cherry

Try It Now

Tuple Immutability

Tuples are immutable, meaning you cannot change, add, or remove elements after the tuple is created.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Attempting to modify a tuple
fruits = ("apple", "banana", "cherry")
# This will raise an error
# fruits[1] = "blueberry" # TypeError: 'tuple' object does not support item assignment
# Attempting to modify a tuple fruits = ("apple", "banana", "cherry") # This will raise an error # fruits[1] = "blueberry" # TypeError: 'tuple' object does not support item assignment
# Attempting to modify a tuple
fruits = ("apple", "banana", "cherry")

# This will raise an error
# fruits[1] = "blueberry"  # TypeError: 'tuple' object does not support item assignment

Try It Now

Tuple Methods

Tuples have only two built-in methods: count() and index().

1. count()

Returns the number of times a specified value appears in the tuple.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Example of count()
numbers = (1, 2, 2, 3, 4, 2)
count_of_twos = numbers.count(2)
print(count_of_twos) # Output: 3
# Example of count() numbers = (1, 2, 2, 3, 4, 2) count_of_twos = numbers.count(2) print(count_of_twos) # Output: 3
# Example of count()
numbers = (1, 2, 2, 3, 4, 2)
count_of_twos = numbers.count(2)

print(count_of_twos)  # Output: 3

Try It Now

2. index()

Returns the index of the first occurrence of a specified value.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Example of index()
fruits = ("apple", "banana", "cherry")
position = fruits.index("banana")
print(position) # Output: 1
# Example of index() fruits = ("apple", "banana", "cherry") position = fruits.index("banana") print(position) # Output: 1
# Example of index()
fruits = ("apple", "banana", "cherry")
position = fruits.index("banana")

print(position)  # Output: 1

Try It Now

Tuple Packing and Unpacking

Tuples allow packing multiple values into one variable and unpacking them into separate variables.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Tuple packing
person = ("John", 25, "Engineer")
# Tuple unpacking
name, age, profession = person
print(name) # Output: John
print(age) # Output: 25
print(profession) # Output: Engineer
# Tuple packing person = ("John", 25, "Engineer") # Tuple unpacking name, age, profession = person print(name) # Output: John print(age) # Output: 25 print(profession) # Output: Engineer
# Tuple packing
person = ("John", 25, "Engineer")

# Tuple unpacking
name, age, profession = person

print(name)  # Output: John
print(age)  # Output: 25
print(profession)  # Output: Engineer

Try It Now

Using Tuples as Dictionary Keys

Since tuples are immutable, they can be used as keys in dictionaries, unlike lists.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Tuple as a dictionary key
locations = {
(40.7128, -74.0060): "New York",
(34.0522, -118.2437): "Los Angeles"
}
print(locations[(40.7128, -74.0060)]) # Output: New York
# Tuple as a dictionary key locations = { (40.7128, -74.0060): "New York", (34.0522, -118.2437): "Los Angeles" } print(locations[(40.7128, -74.0060)]) # Output: New York
# Tuple as a dictionary key
locations = {
    (40.7128, -74.0060): "New York",
    (34.0522, -118.2437): "Los Angeles"
}

print(locations[(40.7128, -74.0060)])  # Output: New York

Try It Now

When to Use Tuples

  • When you want to ensure the data cannot be modified.
  • When you need a lightweight alternative to lists for fixed data.
  • When using as dictionary keys or ensuring data integrity.

Conclusion

Python tuples are an essential data structure that provides a way to store immutable, ordered collections of items. They are simple yet powerful, offering a lightweight solution for grouping related data.