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