[Python-ideas] [Python-Dev] hello, new dict addition for new eve ? (original) (raw)
Nathan Rice nathan.alexander.rice at gmail.com
Tue Jan 3 18:39:48 CET 2012
- Previous message: [Python-ideas] [Python-Dev] hello, new dict addition for new eve ?
- Next message: [Python-ideas] [Python-Dev] hello, new dict addition for new eve ?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Jan 3, 2012 at 12:10 PM, Robert Kern <robert.kern at gmail.com> wrote:
On 1/3/12 4:59 PM, Nathan Rice wrote:
This is slightly tangential, but I've always wondered... Why aren't set operations implemented on dicts? It is fairly natural to view a dictionary as a set of (key, value) pairs. Things like subset/superset checking (with concomitant operator support) make sense. I have written stuff like set(dict1.items())< set(dict2.items()) many times. The values are unrestricted Python objects. They do not have to be hashable or sortable. The set operations you describe would have to be require one or both (or else do something algorithmically horrendous).
I haven't had any problems with using set(somedict.items()). I will admit that I primarily do this in simple contexts.
This brings me to another curiosity... Why do mutable items not implement hash using id()?
Further, you cannot treat dicts as sets of (key, value) pairs because dicts have unique keys, not unique (key, value) pairs.
I'm confused. Because keys are unique, (key, value) pairs are unique as well. I realize the values are not unique but the tuple is guaranteed to be.
I don't even know what rich comparison operators on dictionaries do now, it isn't intuitive at all.
The rich comparison operators are only defined for == and !=. In Python 2.x, there is a legacy implementation of cmp that does something more complicated. I recommend ignoring it.
Recommendation definitely noted :D
Nathan
- Previous message: [Python-ideas] [Python-Dev] hello, new dict addition for new eve ?
- Next message: [Python-ideas] [Python-Dev] hello, new dict addition for new eve ?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]