T wrote: > Ok, just looking for a sanity check here, or maybe something I'm > missing. I have a class Test, for example: > > class Test: > def __init__(self, param1, param2, param3): > self.param1 = param1 > self.param2 = param2 > self.param3 = param3 > > Next, I have a dictionary mytest that contains instances of Test. If > I want to modify one of the Test instances within my dictionary, I > have to rewrite the entire entry, correct (since Python passes by > value, not reference)? I.e. if I wish to change just param3 of an > instance, I would have to do: > > def changevalue(): > for key in mytest.keys(): > currentparam = mytest[key] > param1 = currentparam.param1 > param2 = currentparam.param2 > param3 = currentparam.param3 > param3 = "newvalue" > mytest[key] = Test(param1, param2, param3) > > If there's an easier way to accomplish this that I'm missing, that'd > be great!
def changevalue(): for key in mytest.keys(): mytest[key].param3 = "newvalue" regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/ Holden Web LLC http://www.holdenweb.com/ UPCOMING EVENTS: http://holdenweb.eventbrite.com/ -- http://mail.python.org/mailman/listinfo/python-list