Skip to content

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

2 pointssomesun1 comment
On 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

Comments

''' 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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.