Can double-linked lists be implemented in python?

Aahz aahz at
Wed Apr 2 20:12:13 CEST 2003

In article <b6f7ib$4rc09$1 at>,
Dave Kuhlman  <dkuhlman at> wrote:
>But suppose that I *do* implement double linked lists.  I'll have two
>objects that point at each other, in other words circular references.
>In older versions of Python, circular references were not garbage
>collected.  Is this still true in Python 2.2 and 2.3?  Do I need to use
>the gc module to *enable* garbage collection?  Or, is not *disabling*
>it good enough?  Do I still need to worry about this?  And, suppose you
>tell me that circular references are collected but I don't believe you.
>How can I check?

There would only be a circular reference if the doubly-linked list were
not referred to from outside.  When all external references are deleted,
garbage collection will reap the cycle.  (Note that I'm not answering the
rest of your questions; you can find that info in the docs.)
Aahz (aahz at           <*>

This is Python.  We don't care much about theory, except where it intersects 
with useful practice.  --Aahz,, 2/4/2002

More information about the Python-list mailing list