So the problem is that when I change bb, aa also changes even though I don't want it to. Is this supposed to happen?
Yes Names are handles for objects. Assignment binds a name to an object. The same object can be bound simultaneously to many names. Python distinguishes between equality and identity, so there are two comparison operators: '==' and 'is'. Objects are equal if they have the same value (==) but they are identical only if they refer to the same object (is). The constructor expressions [], {}, and () produce new objects. >>> [1, 2] == [1, 2] # same value True >>> [1, 2] is [1, 2] # but different lists False >>> a = [1, 2] # this is assigned to a new list >>> b = [1, 2] # this is also assigned to a new list >>> a == b # the lists have the same value True >>> a is b # but they are not the same list False >>> a = [1, 2] # assign to a new list >>> b = a # attach the list in a to a new name >>> a == b # they have the same value True >>> a is b # because they are the same list True The list(FOO) function copies an list. >>> a = [1, 2] # new list >>> b = list(a) # make a copy of the list in b >>> a == b # the original and copy are equal True >>> a is b # but they are not the same list False - Jeff Younker - [EMAIL PROTECTED] -
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor