How to use tuples
Create a tuple
Tuples are ordered and immutable. Parentheses improve readability; a one-item tuple requires a trailing comma.
point = (4, 7)
single = ("only",)
print(point[0], point[-1])
print(type(single))
Unpack values
Unpacking assigns tuple items to names. A starred name can capture the middle values when lengths vary.
name, score = ("Ada", 95)
first, *middle, last = (1, 2, 3, 4)
print(name, score)
print(first, middle, last)
Return multiple results
A comma-separated return value is a tuple. Callers can keep the tuple or unpack it immediately.
def minimum_maximum(values):
return min(values), max(values)
low, high = minimum_maximum([8, 2, 10])
print(low, high)
Choose tuple or list
- Use a tuple for a fixed-position record such as an
(x, y)coordinate. - Use a list when items need to be added, removed, sorted, or replaced.
- A tuple can be a dictionary key only when all of its items are hashable.