problem manipulating a list belonging to a class
Terry Reedy
tjreedy at udel.edu
Mon Nov 23 04:43:01 EST 2009
Marc Leconte wrote:
> Dear all,
>
> I have a problem with the following code (ubuntu 8.04, Python 2.5.2):
>
> class Toto(object):
> def __init__(self, number, mylist=[]):
> self.number=number
> self.mylist=mylist
> pass
> pass
>
> listA=Toto(number=1)
> listB=Toto(number=2)
>
> listA.mylist.append(5)
> print "1) ", listA.mylist
> print "2) ", listB.mylist
>
>>> 1) [5]
>>> 2) [5]
>
> I would have expected
>>> 1) [5]
>>> 2) []
>
> Thanks in advance for advice,
Read the Python FAQ and or the reference manual section on def
statements (function definition) which specifically has a paragraph with
a bold-face statement explaining this.
More information about the Python-list
mailing list