[Python-Dev] deque alternative (was: Linked lists)

Phillip J. Eby pje at telecommunity.com
Mon Dec 26 20:35:39 CET 2005


At 11:04 AM 12/26/2005 -0800, Josiah Carlson wrote:
>Not necessarily so as I have pointed out above.  You said yourself;
>practicality beats purity.  While using cons cells are pure, as us using
>only flat lists are pure, flat lists are practically smaller than cons
>cells in certain cases (by a factor of ~4), and non-flat lists can be
>smaller than cons cells in the rest of the cases.

The reason I sometimes use 2-tuples as cons cells is that it's more 
convenient and/or intuitive than the alternatives for some recursive 
algorithms.  That's the practicality I'm interested in.  Copying a list or 
doing some other hokey-pokey data structure in such cases would just be 
annoying and make the code harder to follow.

Memory consumption and performance were never my reasons for 
cons-ing.  Some algorithms just read more cleanly that way.  In any case, 
regarding the usefulness of a built-in cons type, you're preaching to the 
choir here.  My whole point here is that when you *do* need a lispy list, 
two-item tuples are *the* One Obvious Way to do it in Python, because the 
existing syntax makes them effortless to use.  There's no need for a new 
built-in, 'cause what we already have works great.



More information about the Python-Dev mailing list