[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