Suggestion: make sequence and map interfaces more similar
Random832
random832 at fastmail.com
Wed Mar 30 08:50:22 EDT 2016
On Wed, Mar 30, 2016, at 01:43, Steven D'Aprano wrote:
> This is not an argument about dicts being mutable, because clearly they
> aren't. This is an argument about key:value pairs being stable. "Stable"
> doesn't mean "immutable". If you change the value associated with a key
> directly, then it will change. That's the whole point. But if you change
> *one* key, the relationship between *other* keys and their values
> shouldn't
> change.
This doesn't mean that an object violates the contract by having a
method that changes the relationships between multiple keys and values.
I had considered including an example of replacing the _whole
dictionary_ with a new object in the ellipsis.
Absolutely nothing is stable under a *completely unrestricted* set of
operations.
> Specifically, insertions and deletions to the mapping never affect the
> existing keys.
You can't say that, because there is no insert and delete method in the
mapping interface.
> If somebody wants to insist that this is a kind of mapping, I can't
> disagree, but it isn't useful as a mapping type.
Javascript seems to manage it just fine.
More information about the Python-list
mailing list