The tuple model
A tuple is a fixed-length, immutable sequence. The shape is decided at creation time and cannot change. Trying to assign into a tuple raises TypeError. The only way to "modify" a tuple is to build a new one.
Use a tuple when position has meaning. A point is (x, y), a database row is (id, name, created_at), a return value with multiple parts is (result, error). The fixed shape is the point: it tells the reader the shape is part of the contract.
Because tuples are immutable, they are also hashable. This means you can use them as dictionary keys or as members of a set, which is something you cannot do with a list.