[Python-Dev] Sets are mappings?
Nick Coghlan
ncoghlan at gmail.com
Wed Dec 21 09:24:20 CET 2005
Aahz wrote:
> On Tue, Dec 20, 2005, M.-A. Lemburg wrote:
>> Josiah Carlson wrote:
>>> New superclasses for all built-in types (except for string and unicode,
>>> which already subclass from basestring).
>>>
>>> int, float, complex (long) : subclass from basenumber
>>> tuple, list, set : subclass from basesequence
>>> dict : subclass from basemapping
>> set should be under basemapping.
>
> Are you sure? Sets are not actually a mapping; they consist only of
> keys. The Python docs do not include sets under maps, and sets do not
> support some of the standard mapping methods (notably keys()). Raymond
> Hettinger has also talked about switching to a different internal
> structure for sets.
>
> (Should this discussion move to c.l.py? Normally I'd think so, but I
> think it's critical that the core developers agree about this. It's
> also critical for me to know because I'm writing a book, but that's not
> reason enough to stick with python-dev. ;-)
Close enough to on-topic to stay here, I think. However, I tend to think of
the taxonomy as a little less flat:
basecontainer (anything with __len__)
- set
- basemapping (anything with __getitem__)
- dict
- basesequence (anything which understands x[0:0])
- list
- tuple
- string
- unicode
- basearray (anything which understands x[0:0,])
- Numeric.array/scipy.array
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list