[Python-3000] A request to keep dict.setdefault() in 3.0 (original) (raw)
Ron Adam rrr at ronadam.com
Tue Jul 10 02:21:31 CEST 2007
- Previous message: [Python-3000] A request to keep dict.setdefault() in 3.0
- Next message: [Python-3000] A request to keep dict.setdefault() in 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Barry Warsaw wrote:
However, .setdefault() is a horrible name because it's not clear from the name that a 'get' operation also happens.
The return value of .setdefault() could be changed to None, then the name would be correct.
And then a helper function could fill the current use case of returning the added abject at the same time.
d = {} def setget(setter, getter, vars): ... setter(*vars) ... return getter(*vars) ... setget(d.setdefault, d.get, ('foo', [])).append(7) d {'foo': [7]} setget(d.setdefault, d.get, ('foo', [])).append(8) d {'foo': [7, 8]}
Now if this could be made to be more general so it worked with with other objects it might really be useful. ;-)
Cheers, Ron
- Previous message: [Python-3000] A request to keep dict.setdefault() in 3.0
- Next message: [Python-3000] A request to keep dict.setdefault() in 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]