Can tuples be replaced with lists all the time?

Roy Smith roy at panix.com
Sun Feb 23 18:48:52 CET 2014


In article <led9s7$req$1 at reader1.panix.com>,
 Grant Edwards <invalid at invalid.invalid> wrote:

> In constrast, tuples are often used as fixed-length heterogenous
> containers (more like a struct in C except the fields are named 0, 1,
> 2, 3, etc.).  In a particular context, the Nth element of a tuple will
> always mean one thing (e.g. a person's last name) while the Mth
> element will always be something else (e.g. a person's age).

And, of course, namedtuples make that much more explicit.

It also appears that tuples are more memory efficient.  I just ran some 
quick tests on my OSX box.  Creating a list of 10 million [1, 2, 3, 4, 
5] lists gave me a 1445 MB process.   The name number of (1, 2, 3, 4, 5) 
tuples was 748 MB.  I'm sure this is implementation dependent, but it 
seems plausible to assume similar results will be had on other 
implementations.



More information about the Python-list mailing list