On Thu, 01 Jun 2006 15:12:23 -0700
[EMAIL PROTECTED] wrote:

#> I believe that 'is' tests equality of reference, such that
#> 
#> >>> a = range(1,3)
#> >>> b = range(1,3)
#> >>> a is b
#> False
#> 
#> The 'is' operator tells you whether a and b refer to the same object.
#> What I've been discussing is whether == should test for "structural"
#> equality so that a and b remain equivalent under parallel mutations
#> (and also under single mutations to common references)

What does "parallel mutations" mean? In particular, what should be the
results of each of the following three comparisons:

x, y, z = [1],[1],[1]
a, b = [x,y], [y,z]
c, d = [[1],[1]], [[1],[1]]
a == b
c == d
a[0].remove(1)
b[0].remove(1)
a == b

So, do I understand correctly that you would like first comparison
(a==b) to return "False" and second comparison (c==d) to return
"True"?

-- 
 Best wishes,
   Slawomir Nowaczyk
     ( [EMAIL PROTECTED] )

Living on Earth may be expensive, but it includes
an annual free trip around the Sun.

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to