[Python-Dev] Ridiculously minor tweaks?
Barry A. Warsaw
Wed, 12 Mar 2003 09:23:29 -0500
>>>>> "GvR" == Guido van Rossum <firstname.lastname@example.org> writes:
GvR> I always think of the type of a list as "list of T" while I
GvR> think of a tuple's type as "tuple of length N with items of
GvR> types T1, T2, T3, ..., TN". So [1, 2] and [1, 2, 3] are both
GvR> "list of int" (and "list of Number" and "list of Object", of
GvR> course) while ("hello", 42) is a "2-tuple with items str and
GvR> int" and (42, "hello", 3.14) is a "3-tuple with items int,
GvR> str, float".
Of course (1, 2, 3) fits under that description, where, just by chance
<wink> T1 == T2 == T3.
But one of the ways I think about it is the tuple's relationship to
argument and return passing. It's the tuple that's used when multiple
values are returned from a function and they are almost always
heterogeneous. And while lists can be used for unpacking sequences, I
tend to think of tuples when I want record types, e.g.
rec = magic(blah)
length, prefix, interface = rec