[Tutor] remove blank list items
Kent Johnson
kent37 at tds.net
Sat Sep 15 22:46:53 CEST 2007
Michael Langford wrote:
> While the keys() method returns an object of type list, the keys of a
> dict (when you leave them in the dict) behave as a "set", as in the
> mathematical/computer science idea of a collection of objects where no
> two objects have the same value. ( http://en.wikipedia.org/wiki/Set)
Before Python had a real set type, dicts were commonly used as a
substitute for a set.
> The keys of the dictionary may or may not be implemented with a python
> object that has a class of "set".
They are not, they are implemented as part of the hashtable that is a dict.
In fact set was originally implemented in Python as a wrapper around
dict. When it proved to be useful it was re-implemented in C. The
original implementation still survives in the set module.
The keys() method definitely returns a
> list, and I'm sure it does this as that's much more useful than
> returning a set object.
Actually the designers of Python believe that for the value of
dict.keys() to have set-like behaviour is very useful. In Python 3 that
is how it will be.
http://www.python.org/dev/peps/pep-3106/
More information about the Tutor
mailing list