How do I check if two variables reference the same object in Python?

snakile picture snakile · Sep 5, 2010 · Viewed 16.6k times · Source

x and y are two variables.
I can check if they're equal using x == y, but how can I check if they have the same identity?

Example:

x = [1, 2, 3]
y = [1, 2, 3]

Now x == y is True because x and y are equal, however, x and y aren't the same object.
I'm looking for something like sameObject(x, y) which in that case is supposed to be False.

Answer

Mark Byers picture Mark Byers · Sep 5, 2010

You can use is to check if two objects have the same identity.

>>> x = [1, 2, 3]
>>> y = [1, 2, 3]
>>> x == y
True
>>> x is y
False