Sean Hammond schrieb: > > I've managed to create a scenario in which editing an object in a list > of objects seems to edit every object in the list, rather than just the > one. I'm totally stumped and wondered if anyone would be kind enough to > read my explanation and see if they have any suggestions. I have > probably stumbled into some typical newbie problem, but anyway: >
just a hint >>> def foo(val,lst=[]): ... lst.append(val) ... print lst ... >>> >>> >>> foo(1) [1] >>> foo(2) [1, 2] >>> foo(3) [1, 2, 3] >>> foo(4,[0]) [0, 4] >>> here list lst is created and bound once compare with this one (which is what you really want) >>> def bar(val, lst=None): ... if lst is None: ... lst = [] ... lst.append(val) ... print lst ... >>> bar(1) [1] >>> bar(2) [2] >>> bar(3, [0]) [0, 3] >>> hth, Daniel -- http://mail.python.org/mailman/listinfo/python-list