stackademic

The leading education platform for anyone with an interest in software development.

Python Tuples

Immutable ordered sequences for fixed collections and unpacking

Overview

Tuples are ordered, immutable sequences. Use them for fixed-size records, function return values, and dict keys. Immutability makes tuples hashable when their elements are hashable.

Syntax / Usage

# Create
point = (10, 20)
single = (42,)       # trailing comma required for one-element tuple
mixed = ("Ada", 36, True)

# Access
point[0]   # 10
point[-1]  # 20

# Unpacking
x, y = point
first, *rest = (1, 2, 3, 4)  # first=1, rest=[2,3,4]

# Named tuples (collections module)
from collections import namedtuple
Point = namedtuple("Point", ["x", "y"])
p = Point(3, 4)
p.x  # 3

Examples

Return multiple values from a function:

def min_max(numbers):
    return min(numbers), max(numbers)

low, high = min_max([3, 1, 9, 4])

Use a tuple as a dict key for a sparse grid:

grid = {}
grid[(0, 0)] = "start"
grid[(2, 1)] = "treasure"

Common Mistakes

  • Creating (42) instead of (42,)—parentheses alone do not make a tuple
  • Trying to mutate tuple elements when they contain mutable objects (the list inside can change)
  • Using lists when immutability and hashability are required
  • Overusing tuples where a dataclass or NamedTuple improves readability

See Also

python-dictionaries python-sets python-functions