A Python tuple is an ordered, immutable sequence written with parentheses () whose items cannot be added, removed, or reassigned after creation. Developers use tuples for fixed records like (latitude, longitude) coordinates or multiple return values from a function.
Because tuples cannot change size, Python allocates less memory for them than lists and lets you use tuples containing immutable items as dictionary keys or set members.
A single-item tuple requires a trailing comma (42,); without that comma, Python treats (42) as a plain integer inside math parentheses.
point = (37.7749, -122.4194)
single_item = ("only-one",)
lat, lng = point
head, *rest = (10, 20, 30, 40)
print(lat, lng) # 37.7749 -122.4194
print(head, rest) # 10 [20, 30, 40]
The *rest star target captures any remaining items into a list during unpacking.
Tuples expose only two methods: count() and index(). If a tuple holds a mutable object like a list inside it, that inner list can still be mutated, which makes the outer tuple unhashable.
("admin") is a str, whereas ("admin",) is a tuple..append() on a tuple: Tuples are fixed-size; convert to a list or build a new tuple t + (new_item,) if needed.ValueError unless you use a * catch-all variable.Use a tuple when the sequence structure is fixed (such as a (host, port) pair) or when you need a hashable key for a dictionary or cache.
Slightly, yes. Tuples have a smaller memory footprint and faster creation time because Python does not need to over-allocate space for future .append() calls.
Yes. Writing return status, payload automatically packs and returns a tuple that callers can unpack in one line.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.