Is there any good reason why no set method in Python dict?

2 points by somesun ↗ HN
many times , when I write code when using dict d = {} d['name'] = 'John' d['age'] = 40

something like that , i wonder why there is not set method on dict, because get method is in there, and there even a setdefault method , which is very confusing , since it's main usage is to get value

anyway , i dont' see a good reason not to put a set method like this

def set (self, k, v, exists=True): ''' if exists is False , will not overwrite current key if it's alreay there ''' ...

actually , since no set method before, if add this in new python version , there is no compatible issue

3 comments

[ 4.3 ms ] story [ 21.6 ms ] thread
(comment deleted)
(comment deleted)
> ''' if exists is False , will not overwrite current key if it's alreay there '''

...That's what `setdefault` does. It just also returns the value, which you're free to ignore. (The other version is what ordinary key assignment does.)

Also, that's really not a clear name for the parameter at all.