Thre is a way to do it, even with immutable objects, it is a little bit heavier : >>> x = {} >>> x.setdefault(42,'buckle') 'buckle' >>> x[42] += '3' >>> x {42: 'buckle3'} Boris Boutillier, - ARTERIS - Artwork Interconnecting System 6, Parc Ariane 78284 Guyancourt (FRANCE) On Thu, 2003-04-03 at 05:04, Greg Ewing wrote: > Andrew Koenig <ark@research.att.com>: > > > So the behavior of > > > > foo = d.setdefault(r,'') > > foo += "test %d\n" % t > > > > depends on what type foo has, and the OP didn't say. > > I assumed that the code snippet was from his actual application, in > which case he *did* want it to work on strings, in which case, even if > he had the feature he wanted, it wouldn't have helped him. > > I think the fact that this would only work when the value was mutable > is a good reason to disallow it. Too big a source of surprises, > otherwise. > > Being forced to find another way to update the value in this case is a > feature, because the absence of such a way when the value is immutable > makes it clear that there's no way to do what you're trying to do! > > Greg Ewing, Computer Science Dept, +--------------------------------------+ > University of Canterbury, | A citizen of NewZealandCorp, a | > Christchurch, New Zealand | wholly-owned subsidiary of USA Inc. | > greg@cosc.canterbury.ac.nz +--------------------------------------+ > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4