Chris Carlen wrote: > Let's go back the statement: > > x = [1,2,3] > > Do we then say: "[1,2,3] is x" or is it the other way around: "x is > [1,2,3]" ??? > This will yield 'False', because 'is' checks for *identity* not equality. In your case you assign a list the name 'x' and then check (via the 'is' operator) if it is the same object as another (newly created) list. While they are equal (same class and contents) they are not the same. Try this:
x = [1, 2, 3] y = [1, 2, 3] id(x), id(y) x == y x is y Then you'll see. > This is actually completely ridiculous, since I am me, not my name. The > name refers to me. I get that. Yet our spoken language puts it in a > way which is backwards. > To stress the point: "a is b" has the same meaning as "b is a". It does not check for "being a certain thing" (as in "Archimedes is a human") but rather for "one thing beeing the exact same as the other" (as in "Superman is Clark Kent"). -- http://mail.python.org/mailman/listinfo/python-list